Настройка сервера
Первый запуск показал, что файлы игры живые. Теперь те же параметры нужно записать в файл, иначе после закрытия окна они забудутся.
Если сервер ещё работает, выключите его. Правки в строке запуска читаются только при старте процесса.
Что обычно меняют сразу
| Параметр | Зачем |
|---|---|
server.hostname | имя в списке серверов |
server.description | текст в карточке сервера |
server.headerimage | прямая ссылка на картинку шапки, файл должен открываться в браузере без кнопки «скачать» |
server.url | ссылка на сайт, сообщество или магазин |
server.identity | папка сохранений внутри server/ |
server.seed и server.worldsize | какая карта сгенерируется |
server.maxplayers | сколько слотов объявить |
rcon.password | пароль удалённой консоли |
Полный список консольных переменных лежит в разделе сервер. Для первого запуска хватает таблицы выше.
Пример того, что увидит игрок в браузере:
server.hostname "Тестовый сервер"
server.description "Локальная сборка перед переносом"
server.headerimage "https://example.com/banner.jpg"
server.url "https://topplugin.ru/"Ссылку и картинку подставьте свои. Пустой headerimage просто не покажет шапку, сервер из-за этого не упадёт.
Файл запуска
В корне, рядом с RustDedicated.exe, создайте start.bat. Откройте его в Sublime Text. Если редактора ещё нет, он стоит в подготовке.
@echo off
chcp 65001
:start
echo Server starting...
RustDedicated.exe -batchmode -nographics ^
+server.hostname "Тестовый сервер" ^
+server.description "Локальная сборка перед переносом" ^
+server.url "https://topplugin.ru/" ^
+server.identity "server1" ^
+server.port 28015 ^
+server.queryport 28017 ^
+rcon.port 28016 ^
+rcon.password "смените-пароль" ^
+server.maxplayers 20 ^
+server.worldsize 3000 ^
+server.seed 12345 ^
+server.level "Procedural Map" ^
+server.saveinterval 300
goto start@echo off прячет служебный шум командной строки. chcp 65001 включает Unicode, чтобы русское имя сервера не превратилось в кракозябры. Метка :start и goto start поднимают процесс снова, если он сам закрылся. Знак ^ в конце строки склеивает аргументы в одну команду.
Дальше каждый плюс — это консольная команда на старте:
server.port— порт, по которому заходит игрок. Для локальной проверки это28015.server.queryport— порт, по которому Steam спрашивает «сервер жив?». Он не равен игровому.rcon.portиrcon.password— удалённая консоль. Пароль из примера замените. Короткий12345не оставляйте даже дома.server.identity "server1"должен совпадать с тем, что вы уже запускали, иначе игра создаст второй пустой мир.server.saveinterval 300— автосохранение раз в пять минут.
Сохраните файл. С этого момента сервер запускают двойным щелчком по start.bat, а не длинной командой из прошлой статьи. Дождитесь Server startup complete и зайдите через F1: connect 127.0.0.1:28015.
Пароль и порты
Не ставьте RCON на тот же номер, что и игру. И не публикуйте start.bat со своим паролем в чат или на форум: в файле он лежит открытым текстом.
На Linux тот же набор пишут в start.sh. Carbon к этому файлу на Windows ничего не добавляет, Oxide тоже. Скрипт запускает игру, фреймворк подхватывается уже из её папки.
Если вы уже меняли имя или описание в живой консоли, server.writecfg запишет текущие значения в server/server1/cfg/server.cfg. Этот файл игра читает при следующем старте. Секреты, которые не должны там остаться, из него уберите до записи.