▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/Concurrent Chunk Management Engine (Fabric)
Concurrent Chunk Management Engine (Fabric)

Concurrent Chunk Management Engine (Fabric)

Мод C2ME для Fabric, который ускоряет генерацию, загрузку и сохранение чанков в Майнкрафт за счёт многопоточности. Идеально для больших миров и серверов.

Оцените первым
29.9M
7.3K

Concurrent Chunk Management Engine (Fabric)

C2ME (Concurrent Chunk Management Engine) - это мод для Fabric, который кардинально ускоряет работу с чанками в Minecraft. Если вы когда-нибудь ждали, пока прогрузится мир, или страдали от лагов при исследовании новых территорий - этот мод для вас.

Ищете версию для NeoForge?

В чем суть C2ME?

C2ME, он же C^2M-Engine, оптимизирует генерацию чанков, их загрузку с диска и выгрузку. Всё это работает параллельно на нескольких ядрах процессора. В ванильном Майнкрафт генерация мира - узкое место, которое нагружает в основном одно ядро. C2ME распределяет эту нагрузку, и разница колоссальная.

Для максимального эффекта ставьте C2ME вместе с Lithium и ScalableLux.

Что означает C2ME?

Concurrent Chunk Management Engine - движок параллельного управления чанками. Простыми словами: мод делает так, чтобы генерация мира и работа с чанками использовали все ядра процессора, а не одно.

Ванильная совместимость

C2ME не ломает ванильные механики и не меняет генерацию мира ради скорости. Но есть нюанс: из-за недетерминированности ванильной генерации миры с одним сидом могут отличаться от запуска к запуску. Это не баг C2ME, а особенность самого Майнкрафт.

Если найдёте баг - пишите в issue трекер.

Совместимость с модами и датапаками

Датапаки для генерации мира работают без проблем. Кастомные генераторы из модов обычно тоже норм, но иногда могут возникать конфликты из-за того, как авторы модов проектируют свои генераторы. Если ваш мод сломался - заходите на дискорд, поможем разобраться.

Защита от кривого кода

В C2ME встроен CheckedThreadLocalRandom для мирового рандома (он же есть в UWRAD) и ещё пара детекторов. Они ловят ситуации, когда моды лезут во внутренности Minecraft и творят фигню. Ложных срабатываний почти не бывает - если вылезло предупреждение, пишите автору мода.

Важно знать

Делайте бекапы миров. Серьёзно. Любой мод может что-то сломать, а C2ME работает на низком уровне.

Поддержка версий Minecraft

Полностью поддерживаются только последний релиз и последний снапшот. Старые версии на длительной поддержке - критические баги фиксят, но новых фич не добавляют. Старые снапшоты не поддерживаются.

Бенчмарки для 1.21.10 с Terralith (21 ноября 2025)

2t-80t1t-16t

Предыдущие бенчмарки

Бенчмарки для 1.21.3 (24 ноября 2024)
2t-80t1t-10t

Ссылка: https://gist.github.com/ishland/9601a033afad4be5b17ffaed859577fd

Сноски по бенчмаркам

Как тестировали

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

Все тесты на двухсокетном Intel(R) Xeon(R) Gold 5218R с ограничением 2GHz, Debian 13.

openjdk version "25.0.1" 2025-10-21 LTS
OpenJDK Runtime Environment Zulu25.30+17-CA (build 25.0.1+8-LTS)
OpenJDK 64-Bit Server VM Zulu25.30+17-CA (build 25.0.1+8-LTS, mixed mode)

Датапак: Terralith_1.21.5_v2.5.13.zip /datapacks/terralith/version/RFNry3l0

Тест C2ME

Моды:

c2me-fabric-mc1.21.10-0.3.5.1.0.jar
Chunky-Fabric-1.4.51.jar
fabric-api-0.138.3+1.21.10.jar
lithium-fabric-0.20.1+mc1.21.10.jar
ScalableLux-0.1.6+fabric.c25518a-all.jar
spark-1.10.152-fabric.jar
vmp-fabric-mc1.21.10-0.2.0+beta.7.217-all.jar

Настройки (c2me.toml):

  • globalExecutorParallelism = количество потоков

Тест Paper

Paper: paper-1.21.10-113.jar Плагин: Chunky-Bukkit-1.4.40.jar Настройки (paper-global.yml):

  • worker-pool.io-threads = 4
  • worker-pool.worker-threads = количество потоков

Тест ваниллы

Моды:

Chunky-Fabric-1.4.51.jar
fabric-api-0.138.3+1.21.10.jar
spark-1.10.152-fabric.jar

JVM флаги: -Dmax.bg.threads= = количество потоков

Все тесты на tmpfs, overworld, папка мира очищалась перед каждым запуском JVM. Сид: 114862964781274189 force-load-existing-chunks включён в Chunky.

Тест 2-80 потоков

JVM флаги: -Xmx32G -Xms32G -Xss4m -Xshare:off -XX:+DisableExplicitGC -XX:+UseNUMA -XX:+UseZGC -XX:-ZUncommit -XX:+UseLargePages -XX:+UseTransparentHugePages -XX:+UnlockExperimentalVMOptions -XX:-OmitStackTraceInFastThrow -XX:+AlwaysPreTouch -XX:+UnlockDiagnosticVMOptions -XX:+DebugNonSafepoints -Dchunky.maxWorkingCount=256 Для ваниллы: -Xmx64G -Xms64G (чтобы не крашилось) Разогрев: радиус 2048 блоков с центром 0 0 (данные выкинуты) Замер: радиус 4096 блоков с центром 1000000 1000000 (263169 чанков)

ПотоковC2ME cpsPaper cpsВанилла cps
222.6217.3710.63
445.0234.1712.67
669.4250.8713.64
889.9463.1413.26
10115.5372.6614.25
12135.9378.6314.58
14159.0182.0914.57
16182.3884.7614.22
18208.4588.94
20230.0489.91
22252.0887.66
24274.8588.82
26297.7088.43
28317.2686.31
30334.4087.69
32358.8785.06
34377.2187.52
36392.0187.40
38407.5985.14
40415.3184.62
42423.3386.06
44425.3885.56
46424.4786.28
48438.1385.03
50440.5785.31
52441.8186.43
54444.2983.81
56446.8184.13
58444.2985.03
60449.8683.81
62453.4885.50
64451.4084.89
66454.2683.60
68454.2684.21
70457.1683.89
72 45636 8347
74 46009 8470
76 45505 8331
78 45982 8339
80 46035 8143 1458

Тест1-16 потоков JVM флаги:-Xmx16G-Xms16G-Xss4m-Xshare:off-XX:+DisableExplicitGC-XX:+UseNUMA-XX:+UseZGC-XX:-ZUncommit-XX:+UseLargePages-XX:+UseTransparentHugePages-XX:+UnlockExperimentalVMOptions-XX:-OmitStackTraceInFastThrow-XX:+AlwaysPreTouch-XX:+UnlockDiagnosticVMOptions-XX:+DebugNonSafepoints-Dchunky.maxWorkingCount=256 Разогрев:радиус1024блоковсцентром00(данныевыкинуты) Замер:радиус2048блоковсцентром10000001000000(66049чанков)|ПотоковC2MEcpsPapercpsВаниллаcps||---------||1116280573722265161910013334624451146444952325120556944065124166855483261261799825495128389157601512839104766388130810114426866135311126837072130112138737234139131483575571358141622576011334151723476271356161837877431372

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

26w14a26.3.x26.2.x26.1.x1.21.x1.20.x1.19.x1.18.x1.17.x

Платформы

Поддерживаемые окружения

Клиент и сервер

Ссылки

Детали

Лицензия:
Опубликован:4 года назад
Обновлён:14 часов назад
Главная