Настройка сервера: различия между версиями

Материал из PetruCHIO - Mindustry server
Перейти к навигации Перейти к поиску
[досмотренная версия][досмотренная версия]
Строка 47: Строка 47:
 
| stop || Останавливает хост сервера  
 
| stop || Останавливает хост сервера  
 
|-
 
|-
|rowspan="6"|host имя_карты режим||Запускает хост на карте с выбранным режимом. Если это не написать - сервер будет недоступен.
+
|rowspan="7"|host имя_карты режим||Запускает хост на карте с выбранным режимом. Если это не написать - сервер будет недоступен.
 
|-
 
|-
 
||Если не указывать режим - запустится выживание
 
||Если не указывать режим - запустится выживание
 +
|-
 +
||Если не указывать карту - запустится случайная карта
 
|-
 
|-
 
||survival - режим выживание, с волнами по таймеру
 
||survival - режим выживание, с волнами по таймеру
Строка 58: Строка 60:
 
|-
 
|-
 
||sandbox - песочница, безграничные ресурсы, ой да мне ли объяснять, что это за режим? :D
 
||sandbox - песочница, безграничные ресурсы, ой да мне ли объяснять, что это за режим? :D
|-
 
|rowspan="2"|port||Задаёт порт для сервера. Обычно менять не надо, но если на одном сервере надо запустить несколько - можно задать другой порт. По умолчанию используется 6567, если его в игре не указывать - она сама постучит на порт 6567. Обычно порт указывается в игре через двоеточие, например 12.34.56.78:7777
 
|-
 
||Если не дописывать в конце новый порт - просто покажет текущий порт.
 
 
|-
 
|-
 
|maps||Выводит список карт на сервере
 
|maps||Выводит список карт на сервере
Строка 69: Строка 67:
 
|status||Отображает статус сервера, список игроков на нём, карту и волну
 
|status||Отображает статус сервера, список игроков на нём, карту и волну
 
|-
 
|-
|plugins||Выводит список установленных плагинов
+
|mods||Выводит список установленных плагинов и модификаций
 
|-
 
|-
|plugin название||Выводит информацию о конкретном плагине
+
|mod название||Выводит информацию о конкретном плагине или модификации
 +
|-
 +
|js скрипт||Задать Java Script на сервере
 
|-
 
|-
 
|say сообщение||Выводит игрокам в чат сообщение от имени сервера. Можно использовать для объявлений, предупреждений, разрешений странных конфликтов и шуток
 
|say сообщение||Выводит игрокам в чат сообщение от имени сервера. Можно использовать для объявлений, предупреждений, разрешений странных конфликтов и шуток
 
|-
 
|-
|rowspan="4"|difficulty (сложность)||Задаёт сложность игры на сервере, которую вы выберете.  
+
|rowspan="4"|difficulty сложность||Задаёт сложность игры на сервере, которую вы выберете.  
 
|-
 
|-
 
||easy - лёгкая
 
||easy - лёгкая
Строка 86: Строка 86:
 
|-
 
|-
 
||Если в текущей игре всего одна команда, то её можно не указывать
 
||Если в текущей игре всего одна команда, то её можно не указывать
|-
 
|rowspan="2"|name название||Задаёт название сервера. Можно использовать [[Цвета|цветовые теги]] для разноцветного названия.
 
|-
 
||Если не писать новое название - можно прочитать старое
 
 
|-
 
|-
 
|rowspan="2"|playerlimit off/число||Задаёт ограничение игроков на сервере (число), либо убирает его (off)
 
|rowspan="2"|playerlimit off/число||Задаёт ограничение игроков на сервере (число), либо убирает его (off)
 
|-
 
|-
 
||Если не указать число или off - можно посмотреть текущий лимит
 
||Если не указать число или off - можно посмотреть текущий лимит
 +
|-
 +
|subnet-ban add/remove IP||Заблокировать или разблокировать подсеть
 
|-
 
|-
 
|rowspan="2"|whitelist on/off|| Задаёт параметр белого списка игроков - это когда вы хотите сделать приватный сервер для нескольких игроков и не хотите видеть на нём чужаков
 
|rowspan="2"|whitelist on/off|| Задаёт параметр белого списка игроков - это когда вы хотите сделать приватный сервер для нескольких игроков и не хотите видеть на нём чужаков
Строка 105: Строка 103:
 
|whitelist-remove UUID||Убрать игрока из белого списка, запретив ему посещать сервер (при условии, что белый список активирован)
 
|whitelist-remove UUID||Убрать игрока из белого списка, запретив ему посещать сервер (при условии, что белый список активирован)
 
|-
 
|-
|crashreport on/off||Включить или выключить автоматическую отправку ошибок и вылетов разработчику
+
|rowspan="5"|shuffle значение||Случайный порядок карт
 
|-
 
|-
|logging on/off||Включает или выключает сохранение логов сервера в файлы
+
||none - отключить порядок карт
 
|-
 
|-
|strict on/off||Ставит или снимает ограничение на 1 устройство - если включено, то на сервере не могут находиться игроки с одинаковыми никами
+
||all - случайный порядок со всеми картами
 
|-
 
|-
|rowspan="2"|socketinput on/off||Разрешает или запрещает управление сервером сторонним приложениям через локальный TCP порт 6859
+
||custom - случайный порядок пользовательских карт (не будет запускать встроенные карты)
 
|-
 
|-
||Если не указать on/off, можно узнать текущий статус настройки
+
||builtin - запускать случайный порядок встроенных карт
|-
 
|rowspan="2"|allow-custom-clients on/off||Разрешить или запретить использование пользовательских клиентов на сервере. Допустим игрок изменил в коде игры что-то и собрал игру обратно - это "пользовательская сборка". Внимание - из-за изменений в коде на таких сборках могут возникать ошибки!
 
|-
 
||Если не указывать значение, то можно посмотреть текущий статус данной настройки
 
|-
 
|shuffle on/off||Включает или выключает случайный порядок карт на сервере. Если выключено - карты идут одна за другой
 
 
|-
 
|-
 
|kick ник||Выгнать игрока с сервера. Ещё некоторое время он не сможет зайти на него, не дольше пяти минут
 
|kick ник||Выгнать игрока с сервера. Ещё некоторое время он не сможет зайти на него, не дольше пяти минут
Строка 130: Строка 122:
 
|-
 
|-
 
||name - блокируется игрок по конкретному никнейму
 
||name - блокируется игрок по конкретному никнейму
 +
|-
 +
|bans||Посмотреть список всех блокировок
 
|-
 
|-
 
|unban ip/UUID||Снять блокировку с игрока по IP/UUID
 
|unban ip/UUID||Снять блокировку с игрока по IP/UUID
 
|-
 
|-
|admin ник||Сделать игрока модератором
+
|admin add/remove ник||Повысить или понизить игрока
 
|-
 
|-
|unadmin||Разжаловать модератора до рядового игрока
+
|admins||Выводит список администраторов
 
|-
 
|-
|admins||Посмотреть список модераторов
+
|players||Выводит список игроков на сервере
 
|-
 
|-
 
|runwave||Запустить принудительно следующую волну. Работает даже тогда, когда из интерфейса игры этого сделать нельзя
 
|runwave||Запустить принудительно следующую волну. Работает даже тогда, когда из интерфейса игры этого сделать нельзя
Строка 144: Строка 138:
 
|-
 
|-
 
|save слот||Сохранить состояние игры в слот (слот - это целое число)
 
|save слот||Сохранить состояние игры в слот (слот - это целое число)
 +
|-
 +
|saves||Посмотреть список сохраненных игр
 
|-
 
|-
 
|gameover||Разрушить ядро и закончить текущую игру
 
|gameover||Разрушить ядро и закончить текущую игру
Строка 149: Строка 145:
 
|info UUID/IP/ник||Посмотреть всю известную об игроке информацию - все IP-адреса, которые он использовал, все ники, которые он использовал, его UUID
 
|info UUID/IP/ник||Посмотреть всю известную об игроке информацию - все IP-адреса, которые он использовал, все ники, которые он использовал, его UUID
 
|-
 
|-
|gc||тестовая команда, оптимизирует потребление ОЗУ сервера
+
|search ник||Выводит игроков с заданным никнеймом
 +
|-
 +
|gc||Тестовая команда, оптимизирует потребление ОЗУ сервера
 
|-
 
|-
 
|}<br>
 
|}<br>
 +
 
== Структура папок, или зачем server-release.jar кладут в отдельную папку ==
 
== Структура папок, или зачем server-release.jar кладут в отдельную папку ==
 
Вообще после старта создаётся рядом единственная папка - '''config'''. Вот уже там лежит всё, что нас будет интересовать<br/>
 
Вообще после старта создаётся рядом единственная папка - '''config'''. Вот уже там лежит всё, что нас будет интересовать<br/>

Версия 15:31, 6 марта 2020

Write it.pngДанная статья является логическим продолжением вот этой статьи. Если у вас VPS/VDS, вы всё же пробросили порт у роутера, или же решили запустить сервер в сети VPN для товарищей с грамотным переключением карт и плагинами - вам сюда.

Начать стоит с того, что запущенный из меню паузы сервер - это и не сервер вовсе. Это - совместная игра с товарищем. На сервере карты переключаются автоматически после проигрыша, существуют плагины для дополнительной настройки сервера и грамотная система банов по IP/UUID. Начнём с терминологии - толкового словарика для юного админа.

Словарик юного администратора

Термин Русское определение
IP адрес Каждое устройство в интернете имеет свой уникальный адрес. Данный адрес, как правило, даётся тебе интернет-провайдером, и из-под него ты бродишь по интернету. Обычно бродишь ты, но тут бродить будут к нам. Запросто может получиться, что у игрока будет меняться IP адрес - рядовым пользователям интернета IP выдаётся при каждом подключении к сети (прим. выключить/включить мобильные данные на телефоне - и уже другой адрес; Перезагрузить роутер - уже другой адрес.). Если банить по IP - человек не зайдёт на сервер с этого IP. Если такой заблокированный адрес попадёт добропорядочному гражданину - он также будет несправедливо забанен.
Порт Не бывает такого, чтобы к тебе подключились не через порт. Порт в сети - это "место", к которому мы подключаемся. Игра Mindustry по умолчанию использует 6567 порт TCP/UDP (вот типы портов нам знать пока необязательно). Сайты в браузере, по которым мы бродим, обычно расположены на порту 80. Да-да, по сути, мы пробрасываем порт нашего компьютера в интернет через роутер именно для подключения в последствии к нам других товарищей - порты на роутере по умолчанию не проброшены, чтобы избежать проблем и незваных гостей.
VPS/VDS По сути - кусок железки, который вы арендуете. Делать с ним можно всё, что душе (и хостеру) угодно. В данном случае - сервер по Mindustry. Порты на таких "кусках железа", виртуальных серверах уже проброшены и сервер готов к использованию.
UUID Уникальный идентификатор игрока. Сохраняется в прогрессе игры. Если банить по UUID - игрок не сможет подключиться с этого его устройства. Исключение - случаи обхода банов хитрыми путями
Плагин Это отдельный файл .jar, закинутый в папку плагинов. Может расширять список команд сервера, добавлять какие-либо оповещения, изменять ники игроков и так далее. Есть самые разные плагины для сервера, которые уже успели написать.


Данный словарик дал вам понять, чем мы будем вертеть во время объяснения. Все эти термины так или иначе используются в администрировании сервера. Давайте-ка рассмотрим процесс настройки.

Загрузка ядра сервера

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

java -jar server-release.jar


Если вы используете VPS/VDS, то не забудьте установить пакет default-jre, что можно сделать через менеджер пакетов. Обычно на Ubuntu/Debian и их потомках используется менеджер пакетов apt
В итоге команда будет выглядеть так:

sudo apt install default-jre


Теперь можно запустить сервер, перейдя в папку с ним и прописав вышеуказанную команду.

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

Переходим к более интересному моменту. Вот вы успешно справились с запуском сервера и теперь видите вот это Serv1.png
Это - консоль сервера. Отсюда будет происходить управление им. Давайте рассмотрим команды управления им.

Команда Русское определение
help Выводит список команд, включая те, которые добавляют плагины и небольшое описание к ним на английском языке
version Отображает версию сервера
exit Завершает работу сервера и выходит обратно в систему
stop Останавливает хост сервера
host имя_карты режим Запускает хост на карте с выбранным режимом. Если это не написать - сервер будет недоступен.
Если не указывать режим - запустится выживание
Если не указывать карту - запустится случайная карта
survival - режим выживание, с волнами по таймеру
attack - режим атаки, цель - уничтожить базу врага. При уничтожении всех вражеских ядер игра заканчивается
pvp - сражение нескольких команд игроков. Побеждает та команда, ядро которой остаётся целым
sandbox - песочница, безграничные ресурсы, ой да мне ли объяснять, что это за режим? :D
maps Выводит список карт на сервере
reloadmaps Перезагружает список карт, использовать в случае, если вы добавили/удалили карту
status Отображает статус сервера, список игроков на нём, карту и волну
mods Выводит список установленных плагинов и модификаций
mod название Выводит информацию о конкретном плагине или модификации
js скрипт Задать Java Script на сервере
say сообщение Выводит игрокам в чат сообщение от имени сервера. Можно использовать для объявлений, предупреждений, разрешений странных конфликтов и шуток
difficulty сложность Задаёт сложность игры на сервере, которую вы выберете.
easy - лёгкая
normal - обычная
hard - сложная
fillitems команда Заполняет ядро ресурсами у определённой команды
Если в текущей игре всего одна команда, то её можно не указывать
playerlimit off/число Задаёт ограничение игроков на сервере (число), либо убирает его (off)
Если не указать число или off - можно посмотреть текущий лимит
subnet-ban add/remove IP Заблокировать или разблокировать подсеть
whitelist on/off Задаёт параметр белого списка игроков - это когда вы хотите сделать приватный сервер для нескольких игроков и не хотите видеть на нём чужаков
Если не указать on/off, то можно глянуть на статус белого списка - включен тот или нет
whitelisted выводит список игроков, которые есть в белом списке
whitelist-add UUID Добавить в белый список игрока, которому можно посещать сервер (при условии, что белый список активирован)
whitelist-remove UUID Убрать игрока из белого списка, запретив ему посещать сервер (при условии, что белый список активирован)
shuffle значение Случайный порядок карт
none - отключить порядок карт
all - случайный порядок со всеми картами
custom - случайный порядок пользовательских карт (не будет запускать встроенные карты)
builtin - запускать случайный порядок встроенных карт
kick ник Выгнать игрока с сервера. Ещё некоторое время он не сможет зайти на него, не дольше пяти минут
ban тип значение Заблокировать игрока по одному из параметров
id - UUID игрока будет заблокирован, данный игрок уже не зайдёт с устройства
ip - IP блокируется IP адрес. Не забываем, что для обхода данного бана надо всего лишь переподключиться к интернету (или перезагрузить роутер)
name - блокируется игрок по конкретному никнейму
bans Посмотреть список всех блокировок
unban ip/UUID Снять блокировку с игрока по IP/UUID
admin add/remove ник Повысить или понизить игрока
admins Выводит список администраторов
players Выводит список игроков на сервере
runwave Запустить принудительно следующую волну. Работает даже тогда, когда из интерфейса игры этого сделать нельзя
load слот Загрузить состояние игры из слота (слот - это целое число)
save слот Сохранить состояние игры в слот (слот - это целое число)
saves Посмотреть список сохраненных игр
gameover Разрушить ядро и закончить текущую игру
info UUID/IP/ник Посмотреть всю известную об игроке информацию - все IP-адреса, которые он использовал, все ники, которые он использовал, его UUID
search ник Выводит игроков с заданным никнеймом
gc Тестовая команда, оптимизирует потребление ОЗУ сервера


Структура папок, или зачем server-release.jar кладут в отдельную папку

Вообще после старта создаётся рядом единственная папка - config. Вот уже там лежит всё, что нас будет интересовать

  • logs

В данном каталоге лежат логи сервера, если включены. Настоятельно рекомендую включить логгирование - это позволит вам запоминать информацию об игроках и отслеживать настроение/онлайн сервера. Лог может быть полезен в ситуациях, когда есть некий нарушитель, отрицающий свою вину. "Выписка" из логов - и данного нахала можно наказать сильнее, чем обычно. Поэтому мой вам совет - никогда не обманывайте админов, у них есть неопровержимые доказательства в виде логов. По сути своей .log это текстовый файл, в котором записываются все действия игроков - всё то, что вы видите в окне консоли сервера. Вы, конечно, можете не включать логгирование, чтобы такие файлы тут не создавались. Время и дата, если что, берутся из системы, на которой запущен сервер. Поэтому на зарубежных хостингах могут быть проблемы со временем.

  • maps

Тут лежат карты, которые должны быть на сервере. Карты имеют формат .msav (не путать с обычными игровыми сохранениями!) и доступны для скачивания в нашем архиве - там все карты, которые побывали у нас. Однако вы можете предложить игрокам нарисовать карты самостоятельно - именно так и появлялись карты у нас на сервере. Кстати, заполнять эту папку совсем не обязательно - определённый набор стандартных карт уже установлен и не требует более ничего.

  • plugins

Тут лежат плагины на сервер - это такие штуки, которые позволяют расширить функционал сервера, добавить новые, ранее не существовавшие пользовательские и серверные команды, предупреждения, запреты и прочее. Плагины можно найти на GitHub в поиске по репозиториям. Плагины имеют расширение .jar и, как правило, не требуют дополнительной настройки для начала работы. Для загрузки плагинов необходимо закрыть/открыть сервер. Подробнее о манипуляциях с ними в разделе команд выше.

  • mods

Тут находятся моды, которые необходимо установить для доступа к вашему серверу. Учтите, что подключение к серверу возможно только тогда, когда у игрока и сервера одинаковый набор модов и одинаковые их версии. Учтите, что игра не поддерживает автоматическую загрузку модов с сервера, и вам придётся как-то распространять моды самостоятельно.