Проблема заключается в том, что структура базы данных не соответствует коду сервера. Из логов видно несколько критических ошибок:
Основные ошибки:
1. Unknown column 't1.arresttype' in 'field list'
В таблице characters (или связанной) отсутствует колонка arresttype.
2. Column 'clothesm' cannot be null
Колонка clothesm в какой-то таблице не может быть NULL, но в неё пытаются вставить NULL.
3. Отсутствующие таблицы:
· project_main.merumond_blips
· project_main.player_armors
4. Ключ '19' отсутствует в словаре
Проблема в логике работы с фракциями/организациями.
Решение:
1. Добавить недостающие колонки в базу данных
Откройте HeidiSQL и выполните эти запросы для базы project_main:
```sql
-- Добавляем колонку arresttype в таблицу characters
ALTER TABLE `characters`
ADD COLUMN `arresttype` INT NULL DEFAULT NULL;
-- Проверяем таблицу fractions (или подобную) на наличие колонки clothesm
-- Сначала посмотрим структуру таблицы:
SHOW CREATE TABLE fractions;
-- Если колонки clothesm нет, добавляем её:
ALTER TABLE `fractions`
ADD COLUMN `clothesm` VARCHAR(255) NOT NULL DEFAULT '';
```
2. Создать недостающие таблицы
```sql
-- Создаем таблицу merumond_blips
CREATE TABLE IF NOT EXISTS `merumond_blips` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(100) NOT NULL,
`x` FLOAT NOT NULL,
`y` FLOAT NOT NULL,
`z` FLOAT NOT NULL,
`sprite` INT NOT NULL,
`color` INT NOT NULL,
`scale` FLOAT DEFAULT 1.0,
`shortrange` TINYINT DEFAULT 1,
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB;
-- Создаем таблицу player_armors
CREATE TABLE IF NOT EXISTS `player_armors` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`uuid` VARCHAR(50) NOT NULL,
`character_id` INT NOT NULL,
`armor_type` VARCHAR(50) NOT NULL,
`armor_value` INT DEFAULT 100,
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
INDEX `idx_character` (`character_id`)
) ENGINE=InnoDB;
```
3. Проверить структуру базы данных
Сравните вашу базу данных с оригинальной структурой из сборки. Обычно в сборках есть файлы:
· database.sql или dump.sql
· Папка sql с файлами структуры
· Файлы миграций
4. Если нет оригинальной структуры:
1. Найдите файлы SQL в сборке:
```
C:\Users\Administrator\Desktop\AXESAS PROJECT\sql\
C:\Users\Administrator\Desktop\AXESAS PROJECT\database\
C:\Users\Administrator\Desktop\AXESAS PROJECT\resources\[gamemode]\sql\
```
2. Или экспортируйте базу из рабочей сборки (если есть).
5. Временное решение (если нужно запустить сервер):
В коде найдите файлы, вызывающие ошибки:
1. Forbes\Repository.cs (строка 140 и 221) - убрать запрос к arresttype
2. Fractions\Configs.cs (строка 745 и 738) - исправить вставку clothesm
Но лучше полностью восстановить правильную структуру БД.