Сборка сервера
runes-and-rails / devblog / season-1-launch
DevBlog · 7 октября 2026

1 Сезон стартовал! Тех.анализ.

7 октября 2026. Первые 13 часов Сезона 1 в цифрах: запуск, нагрузка, TPS.

7 мин чтения 16 0 0
#Запуск#TPS#Стабильность#Замеры
0падений после запуска
52 из 55пик игроков
19,84средний TPS
2,7 сзагрузка мира

Коротко: сервер запустился в 00:03 и с тех пор работает без единого падения и перезапуска. Пик составил 52 игрока из 55, а всего за период зашло 77 уникальных игроков. Мир открылся за 2,7 секунды, а подгенерации чанков при входе игроков не было вовсе: всё это результат пре-генерации, о которой мы рассказывали в прошлой статье. Ниже — что показали замеры, где сервер работал с запасом, а где ему было тяжело на пике.

О времени. Все времена в статье указаны по часам сервера (UTC+10). Данные взяты из постоянного мониторинга сервера:
замер TPS каждые 30 секунд, число игроков, паузы сборщика мусора, журналы запуска. Период: с 00:03 до 13:11 7 октября.


1Главное #

ПоказательЗначение
Запуск00:03:43, мир загружен за 2,7 с
Работа без перезапускас 00:03 до 13:11, то есть более 13 часов
Падения0
Пик игроков52 из 55 в 02:01
Уникальных игроков зашло77
Средний TPS за период19,84 (из 1574 замеров)
Замеров с TPS ≥ 1994,5 %
Замеров с TPS ≥ 1599 %
TPS на протяжении периодаоколо 20; короткие просадки пришлись в основном на пик онлайна

Это колоссальный шаг вперёд по сравнению с прошлым сезоном. Сборка у нас тяжёлая, а в первые 13 часов запуска, при пиковом онлайне в 52 человека, не случилось ни одного краша, и TPS почти всё время держался у отметки 20. В Сезоне 0 мы только запускались и без опыта часто попадали под краши и ошибки: взаимные блокировки в физике кораблей Sable и Simulated, гонки при удалении кораблей, многосекундные подвисания при автосохранении мира и прочие проблемы. Кроме того, нагрузка росла по ходу сессии. Все эти причины мы разобрали и закрыли собственными исправлениями.

Этому предшествовала примерно неделя непрерывных тестов и исправлений: нагрузочные сценарии на стенде, проверка с игроками-тестировщиками по белому списку, разбор каждого падения. Подробности подготовки — в прошлой статье.


2Запуск и первые минуты #

  • 00:03:43: старт сервера. Версии ядра и модов те же, что прошли тесты на стенде (166 файлов в папке модов). Мир загрузился за 2,7 с: пре-генерация радиуса 7000 блоков сделала своё дело, дополнительной генерации при первых входах не было.
  • 00:04: первые заходы. Первые полторы минуты вход ещё был по белому списку, затем сервер открыли для всех.
  • Первые 10 минут: 31 вход, онлайн вырос с 30 до 38. К 00:40 было 44, к 01:50 уже 51, пик 52 в 02:01. Затем онлайн пошёл на спад: 30 к 03:20, 20 к 06:50, 12 к 08:00 и 2–3 игрока после 09:00.

3Игроки и TPS по часам #

TPS (ticks per second) — сколько игровых тиков сервер успевает за секунду. Норма — 20. Ниже онлайн и TPS по ходу первых 13 часов (среднее за 10 минут). Верхний график: сколько игроков было на сервере, нижний: что показывал TPS.

Игроки онлайн и TPS
Игроки онлайн и TPS

Нижний график: среднее значение TPS за 10 минут, ось начинается с нуля. Пунктир: потолок 20 TPS. Оранжевым закрашено, насколько среднее было ниже потолка.

ЧасИгроков (ср.)Игроков (макс.)TPS (ср.)Замеров с TPS ≥ 19
00:00354219,8598 %
01:00445119,9294 %
02:00475218,2749 %
03:00344519,7892 %
04:00273019,9097 %
05:00252919,9298 %
06:00202320,02100 %
07:00141719,9999 %
08:0061220,05100 %
09:003420,04100 %
10:003320,02100 %
11:001320,06100 %
12:001220,08100 %
13:001219,8895 %

Проседание в 02:00 пришлось на самый плотный час: 47 игроков в среднем, до 52 на пике. В остальное время, включая соседние часы с 34–44 игроками в среднем, сервер удерживал TPS около 20.


4Как TPS зависит от онлайна #

Чтобы отделить «сервер плох» от «сервер нагружен», мы разложили все замеры по числу игроков в момент измерения:

Доля замеров TPS ≥ 19 по онлайну
Доля замеров TPS ≥ 19 по онлайну
Игроков онлайнЗамеровСредний TPSЗамеров с TPS ≥ 19
до 1058320,0499,8 %
10–1922120,0199,5 %
20–2933119,8897,6 %
30–3915619,9498,1 %
40–5228319,1773,9 %

До 40 игроков онлайн TPS держится на 19–20 почти в каждом замере (98–100 %). Заметное снижение начинается с 40 игроков. При этом даже в этой группе 97 % замеров остаются выше 15 TPS, а сама группа самая нагруженная: онлайн 40–52 из 55 возможных в первые же часы старта сезона.


5Подвисания #

Среднее значение скрывает короткие провалы, поэтому отдельно считаем тики длиннее 0,5 секунды:

  • За 13 часов таких одиночных тиков было 76, длиннее секунды — 29, длиннее двух — 17. Самые длинные: 7,9 с в 01:02 (42 игрока), 6,8 с в 06:01 (23 игрока), 5,8 с в 00:14 (32 игрока).
  • Основная часть подвисаний пришлась на время с 00:04 до 06:00, пока онлайн был 25–52 игрока. После 08:00 при онлайне до 12 игроков сервер работает ровно.
  • Игрок видит это как зависание на несколько секунд с последующим «догоном». Сервер при этом не падает и не перезапускается.
  • Паузы сборщика мусора: за 13 часов их было 3086, средняя 21 мс, суммарно 65 секунд (0,14 % времени). Единственная заметная пауза 1,96 с в 03:00. Остальные короче 300 мс.
  • Каждое четвёртое подвисание (19 из 76) пришлось на первые три минуты часа. Это указывает на служебные задачи, которые запускаются в начале часа (резервное копирование и очистка).
  • Физика кораблей Sable остаётся самым нагруженным игровым механизмом: сильнее всего она влияет на сервер как раз в часы пик.

6Что мы поправили по ходу первого дня #

  • Бонусные чанки приватов. Игрокам не хватало чанков привата из-за остатков отрицательных бонусов прошлого мира. Мы обнулили их и выставили бонусы заново по истории покупок.
  • Сборка кораблей на физическом сборщике Simulated в некоторых случаях не срабатывала. Исправление уже проверено на стенде и будет применено при ближайшем перезапуске.
  • Плазменные молнии в измерении Gimpanum пересчитывали путь каждый тик и давали фоновую нагрузку. Оптимизация готова и также ждёт перезапуска.
  • Вход по белому списку. Заранее поставили исправление, которое сверяет ник без учёта регистра: так не будет отказов из-за разного регистра букв в нике.

7Что мы улучшим дальше #

  1. Пик 50+ игроков. Именно в этом диапазоне TPS опускается до 18–19. Мы работаем над тем, чтобы на таком онлайне TPS оставался близким к 20.
  2. Почасовые подвисания. Сдвинуть резервное копирование на час с низким онлайном или сделать его менее нагружающим для диска.
  3. Три обновления (в том числе исправление сборки кораблей и оптимизация Gimpanum) уже проверены и применятся при ближайшем перезапуске.

8Методика и оговорки #

  • TPS взят из замеров встроенного профайлера: окно 10 секунд каждые 30 секунд (1574 замера). Он измеряет интервал между тиками (потолок 20 TPS), а не время работы тика.
  • Подвисания — это тики длиннее 0,5 секунды (76 записей), а также накопленное отставание «Can't keep up» (138 случаев; его величина больше длины одиночного тика, так как это сумма нескольких тяжёлых тиков подряд).
  • Игроки: число онлайн по замерам монитора (раз в 30 секунд); «уникальных игроков» — число различных ников со входом с 00:00.

Спасибо всем, кто пришёл на старт Сезона 1 и помогает нам находить узкие места: каждое такое наблюдение превращается в улучшение.

Оцените материал
Поделиться Telegram ВКонтакте Все посты
Комментарии
Загрузка комментариев…

Встретимся в Сезоне 1

Скачайте лаунчер, он сам подтянет моды сборки Steel Sky. Вопросы и находки — в Discord и поддержке.

Скачать лаунчер О сборке