Create FastTrack
Это простой мод, который я сделал на скорую руку, чтобы исправить проблему, досаждающую большим серверам. Сервер зависает и падает TPS при установке и разрушении рельсов.
- Загрузчики
- Forge
- Скачиваний на Modrinth
- 265
- Подписчиков на Modrinth
- 1
- версия
- 1
- Обновлён
- 8 августа 20268 авг.
- Опубликован
- в 2026
Коротко о моде
Нужен на сервере; в игре — по желанию
TrackFastRack
Крошечный отдельный мод для Forge 1.20.1, который исправляет узкое место производительности в коде железных дорог Create, применяя оптимизацию заливки трековой сети к опубликованному моду Create — форк Create не нужен.
Проблема
Каждый раз, когда ставится или ломается рельс, Create'шный TrackGraph#findDisconnectedGraphs выполняет заливку компонент связности по всей железнодорожной сети. В выпущенном Create (≤ 6.0.8) фронт BFS — это ArrayList, а извлечение из головы через ArrayList#remove(0) сдвигает весь внутренний массив при каждом извлечении — из-за чего заливка становится O(n²). На большой железнодорожной сети (~80k узлов) одно изменение рельса может обойти миллиарды элементов, вызывая заметные подтормаживания и лаг-спайки при строительстве или перепрокладке длинных железнодорожных линий.
Исправление
Этот мод внедряет один Mixin, который заменяет фронт на ArrayDeque (poll() работает за O(1)) и меняет stream().findFirst() на обычный итератор, превращая заливку в O(n). Это изменение — точный порт коммита форка Create 272e97604 ("Optimise train network hot paths").
Проверка работы
При запуске игры мод пишет в лог TrackGraph flood-fill self-test OK, доказывая, что оптимизированный метод корректно привязан во время выполнения.
Частые вопросы
Как установить Create FastTrack?
Установите Forge под свою версию Minecraft, скачайте Create FastTrack под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть Create FastTrack?
У Create FastTrack есть сборки для Minecraft 1.20.1.
Нужен ли Create FastTrack на сервере?
Нужен на сервере; в игре — по желанию