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

Материал из PetruCHIO - Mindustry server
Перейти к навигации Перейти к поиску
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
Это - консоль сервера. Отсюда будет происходить управление им. Давайте рассмотрим команды управления им.

Команда Русское определение
version Отображает версию сервера
exit Завершает работу сервера и выходит обратно в систему
stop Останавливает хост сервера
host имя_карты режим Запускает хост на карте с выбранным режимом. Если это не написать - сервер будет недоступен.
Если не указывать режим - запустится выживание
survival - режим выживание, с волнами по таймеру
attack - режим атаки, цель - уничтожить базу врага. При уничтожении всех вражеских ядер игра заканчивается
pvp - сражение нескольких команд игроков. Побеждает та команда, ядро которой остаётся целым
sandbox - песочница, безграничные ресурсы, ой да мне ли объяснять, что это за режим? :D
port Задаёт порт для сервера. Обычно менять не надо, но если на одном сервере надо запустить несколько - можно задать другой порт. По умолчанию используется 6567, если его в игре не указывать - она сама постучит на порт 6567. Обычно порт указывается в игре через двоеточие, например 12.34.56.78:7777
Если не дописывать в конце новый порт - просто покажет текущий порт.
maps Выводит список карт на сервере
reloadmaps Перезагружает список карт, использовать в случае, если вы добавили/удалили карту
status Отображает статус сервера, список игроков на нём, карту и волну
plugins Выводит список установленных плагинов
plugin название Выводит информацию о конкретном плагине
say сообщение Выводит игрокам в чат сообщение от имени сервера. Можно использовать для объявлений, предупреждений, разрешений странных конфликтов и шуток
difficulty (сложность) Задаёт сложность игры на сервере, которую вы выберете.
easy - лёгкая
normal - обычная
hard - сложная
fillitems команда Заполняет ядро ресурсами у определённой команды
Если в текущей игре всего одна команда, то её можно не указывать
name название Задаёт название сервера. Можно использовать цветовые теги для разноцветного названия.
Если не писать новое название - можно прочитать старое
playerlimit off/число Задаёт ограничение игроков на сервере (число), либо убирает его (off)
Если не указать число или off - можно посмотреть текущий лимит
whitelist on/off Задаёт параметр белого списка игроков - это когда вы хотите сделать приватный сервер для нескольких игроков и не хотите видеть на нём чужаков
Если не указать on/off, то можно глянуть на статус белого списка - включен тот или нет
whitelisted выводит список игроков, которые есть в белом списке
whitelist-add UUID Добавить в белый список игрока, которому можно посещать сервер (при условии, что белый список активирован)
whitelist-remove UUID Убрать игрока из белого списка, запретив ему посещать сервер (при условии, что белый список активирован)
crashreport on/off Включить или выключить автоматическую отправку ошибок и вылетов разработчику
logging on/off Включает или выключает сохранение логов сервера в файлы
strict on/off Ставит или снимает ограничение на 1 устройство - если включено, то на сервере не могут находиться игроки с одинаковыми никами
socketinput on/off Разрешает или запрещает управление сервером сторонним приложениям через локальный TCP порт 6859
Если не указать on/off, можно узнать текущий статус настройки
allow-custom-clients on/off Разрешить или запретить использование пользовательских клиентов на сервере. Допустим игрок изменил в коде игры что-то и собрал игру обратно - это "пользовательская сборка". Внимание - из-за изменений в коде на таких сборках могут возникать ошибки!
Если не указывать значение, то можно посмотреть текущий статус данной настройки
shuffle on/off Включает или выключает случайный порядок карт на сервере. Если выключено - карты идут одна за другой
kick ник Выгнать игрока с сервера. Ещё некоторое время он не сможет зайти на него, не дольше пяти минут
ban тип значение Заблокировать игрока по одному из параметров
id - UUID игрока будет заблокирован, данный игрок уже не зайдёт с устройства
ip - IP блокируется IP адрес. Не забываем, что для обхода данного бана надо всего лишь переподключиться к интернету (или перезагрузить роутер)
name - блокируется игрок по конкретному никнейму
unban ip/UUID Снять блокировку с игрока по IP/UUID
admin ник Сделать игрока модератором
unadmin Разжаловать модератора до рядового игрока
admins Посмотреть список модераторов
runwave Запустить принудительно следующую волну. Работает даже тогда, когда из интерфейса игры этого сделать нельзя
load слот Загрузить состояние игры из слота (слот - это целое число)
save слот Сохранить состояние игры в слот (слот - это целое число)
gameover Разрушить ядро и закончить текущую игру
info UUID/IP/ник Посмотреть всю известную об игроке информацию - все IP-адреса, которые он использовал, все ники, которые он использовал, его UUID
gc тестовая команда, оптимизирует потребление ОЗУ сервера