Miami RP Project СЕРВЕР MTA:SA ONLINE СЕРВЕР GTA 5 RAGE MP В РАЗРАБОТКЕ ЗАПУСК MTA RAGE MP: в разработке

Установка игрового мода CRMP — server.cfg, MySQL и ошибки

Сегодня Обновлено: Сегодня 0.0 (0)
Установка игрового мода CRMP — server.cfg, MySQL и ошибки
Категория Установка и настройка игрового мода CRMP Опубликовано Сегодня Обновлено Сегодня Просмотров 3

Игровой мод определяет практически всю работу сервера CRMP: регистрацию, персонажей, экономику, транспорт, организации, дома, бизнесы, команды и административную систему. Серверное ядро запускает скомпилированный Pawn-скрипт в формате .amx, а дополнительные возможности подключаются через плагины и filterscripts.

Для правильной установки недостаточно скопировать один AMX-файл. Необходимо проверить совместимость версии CRMP, перенести папку scriptfiles, установить плагины, импортировать базу данных, изменить параметры подключения и указать игровой режим в server.cfg.

В этом руководстве разобрана полная установка игрового мода CRMP на Windows и Linux, подключение через gamemode0, настройка MySQL, исправление ошибок запуска и изменение основных параметров сборки.

Установка серверного ядра перед добавлением мода:

Установка сервера CRMP на Windows и Linux

Подробное описание конфигурации:

Настройка файла server.cfg для CRMP

Что такое игровой мод CRMP

Игровой мод — основной Pawn-скрипт, который запускается серверным ядром и управляет игровым процессом.

В игровом моде обычно реализованы

  • регистрация и авторизация;
  • создание персонажа;
  • уровни и опыт;
  • деньги и банковские счета;
  • работы и организации;
  • транспорт и автосалоны;
  • дома и бизнесы;
  • инвентарь;
  • административная система;
  • античит;
  • сохранение данных.

Основные файлы

roleplay.pwn
roleplay.amx

roleplay.pwn — редактируемый исходный код. roleplay.amx — скомпилированный файл, который непосредственно выполняет сервер.

Из чего состоит готовая сборка игрового мода

Полная сборка обычно содержит не только папку gamemodes.

Пример структуры

CRMP-Server/
├── server.cfg
├── gamemodes/
│ ├── roleplay.amx
│ └── roleplay.pwn
├── filterscripts/
│ ├── objects.amx
│ └── anticheat.amx
├── plugins/
│ ├── streamer.dll
│ ├── sscanf.dll
│ └── mysql.dll
├── scriptfiles/
│ ├── config/
│ ├── accounts/
│ └── server.ini
├── pawno/
│ └── include/
└── database.sql

Перед установкой найдите

  • основной AMX-файл;
  • исходный PWN;
  • необходимые плагины;
  • include-файлы;
  • дополнительные filterscripts;
  • папку scriptfiles;
  • SQL-файл;
  • конфигурацию MySQL;
  • инструкцию разработчика;
  • стандартные аккаунты администратора.

Если в архиве находится только AMX без исходника, мод можно запустить, но его дальнейшая поддержка будет сильно ограничена.

Проверка совместимости игрового мода

Мод должен соответствовать версии серверной адаптации, плагинам и клиенту CRMP.

Перед установкой уточните

  • для CRMP 0.3e или 0.3.7 создан мод;
  • какая версия MySQL-плагина требуется;
  • какая версия Streamer используется;
  • какой командный процессор подключён;
  • для какой операционной системы подготовлены плагины;
  • нужны ли дополнительные модели;
  • нужна ли отдельная клиентская сборка.

Нельзя без проверки смешивать

  • старый AMX и несовместимый новый плагин;
  • новый include-файл и старую DLL;
  • Windows-плагины и Linux-сервер;
  • 64-битные плагины и старое 32-битное ядро;
  • мод для CRMP 0.3e и ядро другой версии;
  • папки из нескольких разных сборок.

Сначала желательно запустить мод с теми версиями файлов, с которыми он распространялся разработчиком. Обновлять компоненты лучше по одному на отдельной тестовой копии.

Создание резервной копии перед установкой

Если на сервере уже находится рабочая сборка, сохраните её до замены игрового режима.

Скопируйте

  • server.cfg;
  • папку gamemodes;
  • папку filterscripts;
  • папку plugins;
  • папку scriptfiles;
  • исходники и include-файлы;
  • базу данных;
  • серверные журналы.

Создание архива на Linux

cd /home/crmp

tar -czf \
crmp-before-gamemode-install.tar.gz \
server/

Создание дампа MySQL

mysqldump \
--single-transaction \
-u crmp_user \
-p \
crmp_database \
> crmp-before-gamemode-install.sql

Проверка готового игрового мода

Проверьте исполняемые файлы

Особого внимания требуют:

*.exe
*.dll
*.so
*.bat
*.cmd
*.sh

Нативные файлы выполняют машинный код и могут получить доступ к операционной системе.

Изучите исходный PWN

Поищите:

  • жёстко прописанные пароли;
  • неизвестные IP-адреса и домены;
  • внешние HTTP-запросы;
  • проверки по конкретному нику;
  • скрытую выдачу администратора;
  • отправку реквизитов базы;
  • загрузку посторонних файлов;
  • команды удаления данных.

Проверьте стандартные аккаунты

Admin
Administrator
Developer
Owner
Test
Support

Удалите неизвестные учётные записи или смените им пароли перед публикацией сервера.

Проверьте server.cfg

  • замените RCON-пароль;
  • удалите неизвестные filterscripts;
  • удалите ненужные плагины;
  • проверьте порт;
  • проверьте название AMX;
  • не используйте чужие адреса сайта.

Установка игрового мода в формате AMX

Главный AMX-файл помещается в каталог:

gamemodes/

Правильная структура

gamemodes/
├── roleplay.amx
└── roleplay.pwn

Пошаговая установка

  1. Остановите сервер.
  2. Откройте папку gamemodes.
  3. Скопируйте файл roleplay.amx.
  4. Сохраните рядом исходник roleplay.pwn.
  5. Проверьте точное название файла.
  6. Измените строку gamemode0.
  7. Установите необходимые плагины.
  8. Запустите сервер и проверьте журнал.

Не создавайте двойную вложенность

Неправильно:

gamemodes/roleplay/roleplay.amx

Если мод не рассчитан на особую структуру, файл должен находиться непосредственно в gamemodes:

gamemodes/roleplay.amx

Регистр букв на Linux

roleplay.amx
RolePlay.amx

Для Linux это разные имена. Строка в server.cfg должна полностью совпадать с названием файла.

Компиляция исходника PWN в AMX

После изменения Pawn-кода необходимо повторно создать AMX-файл.

Компиляция через Pawno

  1. Откройте pawno/pawno.exe.
  2. Загрузите gamemodes/roleplay.pwn.
  3. Нажмите F5.
  4. Проверьте сообщения компилятора.
  5. Убедитесь, что AMX обновился.

Компиляция через командную строку Windows

pawno\pawncc.exe gamemodes\roleplay.pwn

Успешный результат

gamemodes/roleplay.amx

Если AMX не появился

  • в коде есть ошибка;
  • отсутствует include-файл;
  • не совпадает версия библиотеки;
  • у компилятора нет права записи;
  • используется неправильный Pawn-компилятор;
  • путь содержит проблемные символы.

Установка include-файлов

Include-файлы нужны только для компиляции исходного PWN и располагаются в:

pawno/include/

Пример

pawno/include/
├── a_samp.inc
├── a_mysql.inc
├── streamer.inc
├── sscanf2.inc
└── pawncmd.inc

Типичная ошибка

fatal error 100:
cannot read from file: "streamer"

Компилятор не нашёл файл:

pawno/include/streamer.inc

Не путайте компоненты

  • streamer.inc используется компилятором;
  • streamer.dll используется Windows-сервером;
  • streamer.so используется Linux-сервером.

Include и нативный плагин должны быть совместимы друг с другом.

Перенос папки scriptfiles

В scriptfiles игровой мод может хранить конфигурации, INI-файлы, SQLite-базы и локальные данные.

Пример структуры

scriptfiles/
├── config/
│ └── server.ini
├── accounts/
├── vehicles/
├── houses/
└── mysql.ini

Правильный перенос

Скопируйте содержимое папки с сохранением всей вложенности.

Неправильно

scriptfiles/scriptfiles/config/server.ini

Правильно

scriptfiles/config/server.ini

Права на Linux

sudo chown -R crmp:crmp /home/crmp/server/scriptfiles

chmod -R \
u=rwX,g=rX,o= \
/home/crmp/server/scriptfiles

Если мод записывает файлы, пользователь серверного процесса должен иметь право изменения соответствующих каталогов.

Установка дополнительных filterscripts

Filterscripts — дополнительные AMX-сценарии, работающие одновременно с основным модом.

Каталог

filterscripts/

Пример

filterscripts/
├── objects.amx
├── anticheat.amx
└── admin.amx

Подключение

filterscripts objects anticheat admin

Расширение .amx не указывается. Названия разделяются обычными пробелами.

Без дополнительных скриптов

filterscripts

Перед подключением проверьте

  • не дублирует ли скрипт функции основного мода;
  • не создаёт ли вторую систему регистрации;
  • какие плагины ему необходимы;
  • есть ли исходный PWN;
  • не содержит ли он скрытую админку;
  • не конфликтуют ли команды и диалоги.

Установка необходимых плагинов

Плагины расширяют возможности Pawn и добавляют функции, отсутствующие в стандартном серверном ядре.

Часто используются

  • MySQL;
  • Streamer;
  • sscanf;
  • CrashDetect;
  • Pawn.CMD;
  • regex;
  • плагины кодировки;
  • специализированные расширения мода.

Плагин должен соответствовать

  • операционной системе;
  • разрядности серверного ядра;
  • версии include-файла;
  • API, под которое скомпилирован AMX;
  • версии CRMP-сборки.

Не добавляйте все найденные плагины подряд. Устанавливайте только те расширения, которые действительно использует игровой мод.

Установка плагинов на Windows

Пример папки

plugins/
├── crashdetect.dll
├── streamer.dll
├── sscanf.dll
└── mysql.dll

Строка server.cfg

plugins crashdetect streamer sscanf mysql

На Windows расширение .dll обычно не указывается.

Если плагин не загружается

  • проверьте наличие DLL;
  • проверьте разрядность;
  • установите требуемые компоненты Visual C++;
  • проверьте блокировку файла Windows;
  • проверьте совместимость с AMX;
  • запустите сервер через командную строку.

Запуск через командную строку

cd C:\CRMP-Server
samp-server-cr.exe

Фактическое имя исполняемого файла может отличаться.

Установка плагинов на Linux

Пример папки

plugins/
├── crashdetect.so
├── streamer.so
├── sscanf.so
└── mysql.so

Строка server.cfg

plugins crashdetect.so streamer.so sscanf.so mysql.so

На Linux расширение .so необходимо указывать.

Проверка файлов

ls -la plugins/

Проверка типа файла

file plugins/mysql.so

Проверка зависимостей

ldd plugins/crashdetect.so
ldd plugins/streamer.so
ldd plugins/mysql.so

Строка not found указывает на отсутствующую системную библиотеку.

Настройка прав

chmod 755 plugins/*.so

sudo chown -R \
crmp:crmp \
/home/crmp/server/plugins

Установка базовых 32-битных библиотек

sudo dpkg --add-architecture i386
sudo apt update

sudo apt install \
libc6:i386 \
libstdc++6:i386 \
libatomic1:i386 \
-y

Точный набор зависит от используемого ядра и плагинов.

Подключение игрового мода в server.cfg

Откройте файл server.cfg и найдите строку запуска демонстрационного режима:

gamemode0 simple 1

Замените название на имя установленного AMX:

gamemode0 roleplay 1

Файл должен существовать

gamemodes/roleplay.amx

Расширение AMX не указывается

Неправильно:

gamemode0 roleplay.amx 1

Правильно:

gamemode0 roleplay 1

Последнее число

Число после названия определяет количество запусков режима до перехода к следующему элементу ротации.

Для постоянного RP-проекта достаточно:

gamemode0 roleplay 1

Несколько режимов

gamemode0 roleplay 1
gamemode1 freeroam 1

Автоматическая смена мода на Role Play сервере обычно не требуется.

Готовый пример server.cfg с игровым модом

Windows

echo Executing CRMP Server Config...

rcon_password ЗАМЕНИТЕ_НА_СЛОЖНЫЙ_ПАРОЛЬ
rcon 1

maxplayers 50
port 8904

hostname Miami CRMP | Role Play
gamemodetext Role Play
mapname Criminal Russia
language Russian
weburl gta-miami.online

password

gamemode0 roleplay 1
filterscripts objects

plugins crashdetect streamer sscanf mysql

announce 1
query 1
lanmode 0

maxnpc 0

onfoot_rate 40
incar_rate 40
weapon_rate 40

stream_distance 300.0
stream_rate 1000
sleep 5

timestamp 1
logtimeformat [%d/%m/%Y %H:%M:%S]

Linux

echo Executing CRMP Server Config...

rcon_password ЗАМЕНИТЕ_НА_СЛОЖНЫЙ_ПАРОЛЬ
rcon 1

maxplayers 50
port 8904

hostname Miami CRMP | Role Play
gamemodetext Role Play
mapname Criminal Russia
language Russian
weburl gta-miami.online

password

gamemode0 roleplay 1
filterscripts objects

plugins crashdetect.so streamer.so sscanf.so mysql.so

announce 1
query 1
lanmode 0

maxnpc 0

onfoot_rate 40
incar_rate 40
weapon_rate 40

stream_distance 300.0
stream_rate 1000
sleep 5

timestamp 1
logtimeformat [%d/%m/%Y %H:%M:%S]

Перед запуском замените

  • RCON-пароль;
  • название проекта;
  • название AMX;
  • список плагинов;
  • список filterscripts;
  • порт;
  • количество игроков;
  • адрес сайта.

Подробная настройка всех параметров server.cfg

Подготовка MySQL для игрового мода

Сначала убедитесь, что выбранный мод действительно использует MySQL. Некоторые старые сборки сохраняют данные в INI или SQLite.

Признаки использования MySQL

  • в архиве находится SQL-файл;
  • подключается MySQL-плагин;
  • в PWN используется a_mysql;
  • есть отдельный файл настройки базы;
  • в коде вызывается функция подключения;
  • при запуске выводится статус MySQL.

Для подключения потребуются

  • адрес MySQL-сервера;
  • порт;
  • имя базы;
  • пользователь;
  • пароль;
  • SQL-файл;
  • совместимый плагин;
  • разрешение подключения с IP CRMP-сервера.

Локальная база на том же VPS

Host: 127.0.0.1
Port: 3306

База игрового хостинга

Используйте адрес, выданный панелью. Значение 127.0.0.1 не подойдёт, если MySQL находится на другом сервере.

Создание базы данных и пользователя

Создание базы

CREATE DATABASE `crmp_server`
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

Создание отдельного пользователя

CREATE USER 'crmp_user'@'127.0.0.1'
IDENTIFIED BY 'СЛОЖНЫЙ_ПАРОЛЬ';

Выдача прав только на нужную базу

GRANT ALL PRIVILEGES
ON `crmp_server`.*
TO 'crmp_user'@'127.0.0.1';

Применение прав

FLUSH PRIVILEGES;

Для удалённой базы

Вместо 127.0.0.1 укажите IP сервера CRMP:

CREATE USER 'crmp_user'@'IP_CRMP_СЕРВЕРА'
IDENTIFIED BY 'СЛОЖНЫЙ_ПАРОЛЬ';

Импорт SQL-файла игрового мода

Импорт через командную строку

mysql \
-u crmp_user \
-p \
crmp_server \
< database.sql

Импорт удалённой базы

mysql \
-h MYSQL_ХОСТ \
-P 3306 \
-u crmp_user \
-p \
crmp_server \
< database.sql

Проверка таблиц

USE `crmp_server`;
SHOW TABLES;

Импорт через phpMyAdmin

  1. Откройте созданную базу.
  2. Перейдите в раздел «Импорт».
  3. Выберите файл database.sql.
  4. Проверьте кодировку.
  5. Запустите импорт.
  6. Убедитесь, что появились таблицы.

Если импорт не выполняется

  • проверьте максимальный размер файла;
  • проверьте версию MySQL или MariaDB;
  • проверьте кодировку;
  • проверьте права пользователя;
  • изучите номер строки с ошибкой;
  • проверьте, не существуют ли таблицы ранее.

Настройка реквизитов подключения MySQL

Расположение настроек зависит от конкретного игрового мода.

Отдельный файл

scriptfiles/mysql.ini

Пример содержимого

host=127.0.0.1
port=3306
database=crmp_server
user=crmp_user
password=СЛОЖНЫЙ_ПАРОЛЬ

Реквизиты в Pawn-коде

#define MYSQL_HOST "127.0.0.1"
#define MYSQL_USER "crmp_user"
#define MYSQL_DATABASE "crmp_server"
#define MYSQL_PASSWORD "СЛОЖНЫЙ_ПАРОЛЬ"

После изменения исходника

  1. Сохраните PWN.
  2. Повторно скомпилируйте мод.
  3. Проверьте появление нового AMX.
  4. Загрузите AMX на сервер.
  5. Перезапустите процесс.
  6. Проверьте журнал подключения.

Не рекомендуется

  • использовать пользователя root;
  • совмещать пароли MySQL и RCON;
  • публиковать реквизиты в архиве;
  • хранить пароль в клиентских файлах;
  • открывать порт базы всему интернету;
  • использовать рабочую базу для тестов.

Первый запуск игрового мода

Windows

cd C:\CRMP-Server
samp-server-cr.exe

Linux

cd /home/crmp/server
sudo -u crmp ./samp03svr-cr

Подставьте настоящее имя серверного файла своей адаптации.

При успешном запуске отображаются

  • чтение server.cfg;
  • загрузка плагинов;
  • загрузка filterscripts;
  • инициализация игрового мода;
  • подключение к базе;
  • открытие игрового порта;
  • количество моделей транспорта.

Пример нормального запуска

Loading plugin: streamer
Loaded.

Loading plugin: sscanf
Loaded.

Loading plugin: mysql
Loaded.

Loaded 3 plugins.

Started server on port: 8904
Number of vehicle models: 25

После появления консоли подключитесь через клиент CRMP и проверьте регистрацию тестового аккаунта.

Проверка консоли и серверных журналов

Основной журнал

server_log.txt

Просмотр последних строк Linux

tail -n 150 server_log.txt

Просмотр в реальном времени

tail -f server_log.txt

Ищите сообщения

  • Unknown Gamemode;
  • Failed при загрузке плагина;
  • Run time error;
  • File or function is not found;
  • Access denied;
  • Unknown database;
  • Can't connect;
  • Permission denied;
  • Address already in use.

При аварийной остановке особенно важны последние строки перед завершением процесса.

Исправление ошибки Unknown Gamemode

Unknown Gamemode

Основные причины

  • неправильное имя в gamemode0;
  • AMX отсутствует;
  • в конфигурации указано расширение;
  • не совпадает регистр букв;
  • AMX повреждён;
  • мод аварийно завершился;
  • не загрузился обязательный плагин.

Проверьте строку

gamemode0 roleplay 1

Проверьте файл

gamemodes/roleplay.amx

Проверка Linux

ls -la gamemodes/

Проверка даты AMX

Если исходник недавно компилировался, убедитесь, что на сервер загружена новая версия файла, а не старый AMX.

Исправление Run time error 19

Run time error 19:
"File or function is not found"

Ошибка означает, что AMX вызывает функцию, отсутствующую в загруженном серверном окружении.

Чаще всего причина

  • не установлен обязательный плагин;
  • установлена неправильная версия;
  • плагин завершил загрузку со статусом Failed;
  • AMX скомпилирован с другим API;
  • include не соответствует плагину;
  • Windows DLL установлена на Linux;
  • не хватает системной библиотеки.

Порядок исправления

  1. Найдите список отсутствующих функций.
  2. Определите, к какому плагину они относятся.
  3. Проверьте строку plugins.
  4. Проверьте наличие DLL или SO.
  5. Проверьте системные зависимости.
  6. Установите совместимую версию.
  7. Перезапустите сервер.

Плагин не загружается: Plugin Failed

Пример ошибки

Loading plugin: mysql
Failed.

Проверьте на Windows

  • существует ли mysql.dll;
  • совпадает ли разрядность;
  • установлены ли библиотеки Visual C++;
  • не заблокирован ли файл системой;
  • совместима ли версия с игровым модом;
  • правильно ли указано название.

Проверьте на Linux

ls -la plugins/mysql.so
file plugins/mysql.so
ldd plugins/mysql.so

Основные причины Linux

  • не указано расширение .so;
  • плагин имеет другую разрядность;
  • отсутствует зависимость;
  • не совпадает регистр имени;
  • нет права чтения;
  • файл собран для другой системы.

Проверьте server.cfg

Windows:

plugins mysql streamer sscanf

Linux:

plugins mysql.so streamer.so sscanf.so

Исправление ошибок подключения MySQL

Access denied for user

Access denied for user
'crmp_user'@'localhost'

Проверьте пользователя, пароль, разрешённый хост и права на базу.

Unknown database

Unknown database 'crmp_server'

База не создана либо в конфигурации указано другое имя.

Can't connect to MySQL server

  • указан неправильный адрес;
  • указан неправильный порт;
  • служба MySQL остановлена;
  • порт заблокирован;
  • IP CRMP-сервера не разрешён;
  • MySQL принимает только локальные соединения.

Проверка подключения из Linux

mysql \
-h 127.0.0.1 \
-P 3306 \
-u crmp_user \
-p \
crmp_server

Проверка удалённого хоста

mysql \
-h MYSQL_ХОСТ \
-P 3306 \
-u crmp_user \
-p \
crmp_server

Таблица не существует

Table 'crmp_server.accounts'
doesn't exist

SQL-файл импортирован не полностью либо сервер подключился к пустой базе.

Сервер подключается, но аккаунты не сохраняются

  • запрос завершается ошибкой;
  • структура таблиц не соответствует моду;
  • используется другая база;
  • плагин MySQL несовместим;
  • сохранение вызывается неправильно;
  • сервер принудительно завершается.

Ошибки папки scriptfiles

Файл конфигурации не найден

Проверьте точный путь, вложенность и регистр букв.

Неправильная вложенность

scriptfiles/scriptfiles/config/server.ini

Правильная вложенность

scriptfiles/config/server.ini

Нет прав на запись в Linux

sudo chown -R \
crmp:crmp \
/home/crmp/server/scriptfiles

chmod -R \
u=rwX,g=rX,o= \
/home/crmp/server/scriptfiles

После перезапуска пропадают данные

  • мод не выполняет сохранение;
  • файл доступен только для чтения;
  • сервер закрывается принудительно;
  • указан неправильный путь;
  • редактируется другая копия файла;
  • данные фактически хранятся в MySQL.

Проблемы после переноса мода на Linux

Linux учитывает регистр букв

Accounts
accounts

Это два разных каталога.

Проверьте пути в Pawn-коде

scriptfiles/Accounts/%s.ini

Реальная папка должна называться точно так же.

Windows-пути

Старый код может использовать обратные слеши:

scriptfiles\Accounts\player.ini

Более переносимый вариант:

scriptfiles/Accounts/player.ini

DLL не работают на Linux

Windows-вариант:

plugins mysql streamer sscanf

Linux-вариант:

plugins mysql.so streamer.so sscanf.so

Permission denied

chmod +x samp03svr-cr

sudo chown -R \
crmp:crmp \
/home/crmp/server

No such file or directory при существующем файле

У 32-битного серверного ядра могут отсутствовать библиотеки i386. Проверьте файл командой:

file ./samp03svr-cr
ldd ./samp03svr-cr

Изменение основных параметров игрового мода

Часть параметров находится в server.cfg, а игровые настройки — в PWN или файлах scriptfiles.

В server.cfg изменяются

  • название сервера;
  • название режима;
  • порт;
  • количество игроков;
  • пароль подключения;
  • RCON-пароль;
  • список плагинов;
  • список filterscripts;
  • основной AMX.

Пример

hostname Miami CRMP | Role Play
gamemodetext Role Play
maxplayers 50
port 8904
password
gamemode0 roleplay 1

В конфигурации игрового мода могут находиться

  • стартовые деньги;
  • начальный уровень;
  • точка появления;
  • бонус регистрации;
  • множитель опыта;
  • названия организаций;
  • лимиты транспорта;
  • параметры экономики;
  • ссылки на сообщества.

Поиск в исходном коде

SetGameModeText
SendClientMessage
ShowPlayerDialog
SetPlayerPos
GivePlayerMoney
mysql_connect

Пример стартовых денег

GivePlayerMoney(playerid, 50000);

Пример точки появления

SetPlayerPos(
 playerid,
 1234.0,
 -456.0,
 20.0
);

После изменения PWN

  1. скомпилируйте исходник;
  2. исправьте ошибки компилятора;
  3. сохраните старый AMX;
  4. загрузите новый файл;
  5. перезапустите тестовый сервер;
  6. проверьте изменённую систему.

Выдача административных прав

RCON и внутриигровая административная система — разные уровни доступа.

RCON

/rcon login ВАШ_RCON_ПАРОЛЬ

RCON управляет серверным процессом и должен оставаться у владельца или доверенного технического администратора.

Внутриигровые права могут храниться

  • в MySQL;
  • в INI-файле аккаунта;
  • в SQLite;
  • в таблице персонажей;
  • в отдельной таблице администраторов;
  • в системе команд мода.

Проверка структуры MySQL

SHOW TABLES;
DESCRIBE `accounts`;

Поиск аккаунта

SELECT *
FROM `accounts`
WHERE `name` = 'Player_Name'
LIMIT 1;

Пример выдачи уровня

UPDATE `accounts`
SET `admin_level` = 10
WHERE `name` = 'Player_Name'
LIMIT 1;

Если права не применились

  • изменена неправильная база;
  • поле называется иначе;
  • права хранятся у персонажа;
  • необходим повторный вход;
  • данные кэшируются в памяти;
  • уровень ограничен кодом мода.

Полная проверка сервера после установки

Запуск

  • сервер не закрывается;
  • AMX загружается;
  • нет Unknown Gamemode;
  • нет Runtime Error 19;
  • плагины имеют статус Loaded;
  • порт прослушивается.

База данных

  • соединение установлено;
  • таблицы импортированы;
  • регистрация создаёт аккаунт;
  • авторизация работает;
  • данные сохраняются после выхода;
  • используется нужная база.

Игровые системы

  • создаётся персонаж;
  • работает точка появления;
  • работают команды;
  • загружается транспорт;
  • загружаются организации;
  • загружаются дома и бизнесы;
  • сохраняется инвентарь;
  • правильно отображается русский текст.

Администрирование

  • заменён RCON-пароль;
  • удалены стандартные администраторы;
  • работают внутриигровые права;
  • действия персонала записываются;
  • отсутствуют неизвестные команды.

Проверка сохранения

  1. Создайте тестовый аккаунт.
  2. Получите деньги или предмет.
  3. Корректно выйдите.
  4. Перезапустите сервер.
  5. Войдите повторно.
  6. Проверьте сохранённые данные.

Безопасность установленного игрового мода

Перед публичным запуском

  • смените RCON-пароль;
  • смените пароль MySQL;
  • удалите тестовые аккаунты;
  • удалите неизвестных администраторов;
  • проверьте внешние подключения;
  • проверьте DLL и SO;
  • закройте порт MySQL;
  • ограничьте доступ к файлам;
  • отключите ненужные filterscripts;
  • проверьте административные команды.

Не публикуйте

  • рабочий server.cfg;
  • пароль RCON;
  • реквизиты MySQL;
  • полный SQL-дамп;
  • токены сторонних сервисов;
  • архив с аккаунтами;
  • полные журналы с IP.

Не запускайте сервер от root

sudo -u crmp ./samp03svr-cr

Откройте только необходимый игровой порт

sudo ufw allow 8904/udp

MySQL, SSH и панель управления должны быть доступны только с доверенных адресов.

Резервное копирование игрового мода

После успешной установки сохраните

  • AMX и PWN;
  • server.cfg;
  • папку scriptfiles;
  • filterscripts;
  • плагины;
  • include-файлы;
  • SQL-дамп;
  • список версий компонентов;
  • инструкцию восстановления.

Архив Linux

tar -czf \
/home/crmp/crmp-gamemode-$(date +%F).tar.gz \
/home/crmp/server

Дамп базы

mysqldump \
--single-transaction \
-u crmp_user \
-p \
crmp_server \
> /home/crmp/crmp-database-$(date +%F).sql

Копии желательно хранить

  • на рабочем сервере для быстрого отката;
  • на другом VPS;
  • в облачном хранилище;
  • на компьютере владельца;
  • отдельно перед каждым обновлением.

Частые вопросы по установке игрового мода CRMP

Куда загружать игровой мод?

Скомпилированный AMX помещается в папку gamemodes.

Нужно ли загружать PWN?

Для запуска он не требуется, но его следует сохранить для изменений и повторной компиляции.

Как подключить мод в server.cfg?

gamemode0 roleplay 1

Нужно ли писать расширение AMX?

Нет. Название указывается без .amx.

Почему появляется Unknown Gamemode?

Проверьте имя AMX, папку gamemodes, регистр букв и обязательные плагины.

Что означает Runtime Error 19?

Мод вызывает функцию, которой нет на сервере. Обычно отсутствует или не загрузился необходимый плагин.

Куда загружать плагины?

В папку plugins.

Какая строка плагинов нужна на Windows?

plugins streamer sscanf mysql

Какая строка нужна на Linux?

plugins streamer.so sscanf.so mysql.so

Куда загружать filterscripts?

В каталог filterscripts, после чего их названия добавляются в одноимённый параметр.

Куда копировать scriptfiles?

В корневую папку сервера с сохранением исходной структуры каталогов.

Обязательно ли использовать MySQL?

Нет. Некоторые моды используют INI или SQLite. Способ хранения определяется самой сборкой.

Где изменить данные MySQL?

В отдельном конфигурационном файле внутри scriptfiles или в исходном PWN.

Почему MySQL пишет Access denied?

Проверьте пользователя, пароль, разрешённый IP и выданные права.

Почему сервер не находит таблицу?

SQL-файл не импортирован полностью или сервер подключён к другой базе.

Почему мод работает на Windows, но не работает на Linux?

Проверьте регистр букв, пути, SO-плагины, права файлов и 32-битные зависимости.

Как изменить стартовые деньги?

Найдите соответствующий параметр в конфигурации или PWN, измените его и повторно скомпилируйте AMX.

Как создать администратора?

Используйте систему самого игрового мода: MySQL, INI, SQLite или специальную команду. RCON не следует выдавать обычному персоналу.

Нужно ли перезапускать сервер после замены AMX?

Да. Для надёжного применения изменений выполните полный перезапуск серверного процесса.

Можно ли заменить AMX без остановки сервера?

Файл можно загрузить заранее, но безопаснее остановить процесс, заменить AMX и запустить сервер заново.

Что проверить перед открытием проекта?

Регистрацию, сохранение данных, MySQL, плагины, администраторов, безопасность и восстановление из резервной копии.

Официальные и технические источники

Заключение

Для установки игрового мода CRMP поместите AMX-файл в папку gamemodes, скопируйте необходимые filterscripts, плагины и содержимое scriptfiles, а затем укажите название режима в параметре gamemode0.

На Windows используются DLL-плагины, а на Linux — SO. Версии нативных файлов и include-библиотек должны соответствовать API, под которое скомпилирован игровой мод.

Если сборка использует MySQL, создайте отдельную базу и пользователя, импортируйте SQL-файл и укажите правильные реквизиты в конфигурации или Pawn-коде.

После запуска обязательно проверьте консоль и server_log.txt. Ошибка Unknown Gamemode обычно связана с AMX или строкой gamemode0, а Runtime Error 19 — с отсутствующим или несовместимым плагином.

Перед публичным запуском смените стандартные пароли, удалите неизвестных администраторов, проверьте нативные файлы и создайте резервную копию серверной сборки и базы данных.

Настройка основного конфигурационного файла:

Настройка server.cfg для CRMP

Первоначальная настройка сервера:

Основная настройка CRMP Server

RSS инструкций
0 комментариев 0.0 из 0 оценок
MIAMI RP COMMUNITY

Комментарии к инструкции

Обсудите решение, задайте вопрос или дополните инструкцию

Всего: 0
Страница: /
Показано: 0
Добавление комментариев сейчас недоступно для текущего пользователя.