Уроки - Настройка сервера

Настройка сервера делится на два этапа: настройка файла запуска gothic.ini и включение/отключение параметров непосредственно в самом игровом моде.

Разберем устройство папки с сервером.

(Важно: содержимое папки для версии сервера Linux отличается)

По умолчанию внутри нее лежит:

* Две папки: `filterscripts` и `gamemodes`.
	+ filterscripts - папка, в которой хранятся разнообразные отдельно подключаемые к серверу скрипты.
	+ gamemodes - основная папка для хранения игровых модов.
* Исполняемый файл `gmp\_server.exe` - для запуска сервера (помечено зеленым).
* Файл конфигурации сервера `gmp\_server.ini` - для настройки сервера (помечено голубым).
* Два компонента для работоспособности сервера (помечено серым).

Для начала откроем файл конфигурации `gmp_server.ini`. В нем производится первостепенная настройка сервера под нужды пользователя.

Основные моменты:

1. Рекомендуется не превышать лимиты, установленные по умолчанию.
2. `В gamemode=gamemodes/`... можно проложить путь до иной папки с файлом `.lua`
3. Если необходимо отключить/включить какой-либо дополнительный скрипт (filterscripts), поставьте перед началом новой строки знак " **;** ".
```
[SERVER]
port=28960 // Порт сервера.
hostname=GMP-Server // Имя сервера

[LIMITS]
maxplayers=200 // Макс. кол-во слотов для игроков.
maxbots=2000 // Макс. кол-во слотов для ботов.
maxtimers=1000 // Макс. кол-во таймеров.
maxitems=1000 // Макс. кол-во предметов в мире.
maxsounds=1000 // Макс. кол-во звуков.
maxdraws=1000 // Макс. кол-во дравов (CreatePlayerDraw не в счет).
maxtextures=1000 // Макс. кол-во текстур.
max\_input\_length=256 // Предел для символов при вводе.

[SYNC]
stream\_distance=3500 // Дистанция начала прорисовки игроков
stream\_rate=1000 // Предел передачи байт в милисекунду на прорисовку.
position\_rate=200 // Предел передачи байт в милисекунду на позицию.
key\_rate=70 // Предел передачи байт в милисекунду на использование клавиш.
unsynchronized\_items=true // Вкл/выкл. несинхронизированные предметы с карты.
ms\_per\_minute=4000 // Скорость игровой минуты в милисекунду.
bot\_position\_rate=500 // Предел передачи байт в милисекунду на позицию ботов.
stagger\_on\_hit=true // Вкл/выкл. короткой заморозки после получения удара.

[SCRIPT]
gamemode=gamemodes/new.lua // Запускаемый сервером игровой мод.
filterscript\_1=filterscripts/new.lua // Подключенный отдельный скрипт.
;filterscript\_2=filterscripts/ // НЕ подключенный отдельный скрипт.
;filterscript\_3=filterscripts/ // НЕ подключенный отдельный скрипт.
;filterscript\_4=filterscripts/ // НЕ подключенный отдельный скрипт.
;filterscript\_5=filterscripts/ // НЕ подключенный отдельный скрипт.

```

## **Работа с головным файлом сервера**

Переходим в папку `gamemodes`, далее открываем файл `new.lua`.

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

Самое основное, что необходимо выполнить - установить кодировку файла. По умолчанию каждый файл имеет кодировку UTF-8. Не вдаваясь в детали, объясню почему она нам не подходит: она не поддерживает кириллицу. Посему при написании скриптов могут возникнуть текстовые головоломки в чате или в клиенте игры. Чтобы установить кодировку, нужно:

* Если вы работаете в **Sublime Text**:
	1. Открыть нужный файл (в нашем случае `new.lua`).
	2. В верхней панели выбрать "`File > Reopen with Encoding > Cyrillic (Windows 1251)`".
	3. Файл автоматически переоткроется, далее остается сохранить его в данной кодировке (CTRL + S).
* Если вы работаете в **Notepad ++**:
	1. Открыть нужный файл (в нашем случае `new.lua`).
	2. В верхней панели выбрать "`Кодировки > Преобразовать в ANSI`".
	3. Сохранить файл (CTRL + S).