Окей, что же является главным копиумом всех технических администраторов Майнкрафт серверов?
Автор считает, что любой администратор сервера хочет одного - получить как можно больше за как можно меньше, то есть он хочет тратить на хост как можно меньше средств, однако достижение такой цели вызывает некоторые трудности. Чтобы доказать это, обратимся к жизненному и культурно-историческому опыту.
Главной технической проблемой серверной части Майнкрафта является однопоточность. Это значит, что вся игровая логика: редстоун, энтити, игроки и т.д. - просчитывается всего на одном ядре. Во-первых, современные процессоры имеют куда больше ядер, за которые администратор сервера по факту заплатил, но в реальности они почти не используются, это, конечно, если мы говорим про аренду выделенного сервера, а не VDS. Во-вторых, у нас есть довольно жёсткие физические ограничения на производительность одного ядра - поднимать частоту процессора постоянно не получится, как и уменьшать техпроцесс. Этим примером мы показываем, что если никак не решить проблему однопоточности, то администраторам серверов придётся тратить огромные деньги на аренду самых мощных процессоров, что, конечно, не позволит одному серверу (без вырезания 90% механик игры) выдержать больше 300 игроков при стабильном тпс.
Итак, как можно добавить этой многопоточности в игру? Решений немало - C2ME позволяет прогружать чанки асинхронно (и даже на видеокарте), Paper выносит чат и некоторые другие мелкие вещи в отдельные потоки, Folia наконец вводит систему регионов, где каждый из них имеет свой собственный поток.Если на базе одного игрока будет условно 5 ТПС, то благодаря Фолии другие игроки этого совершенно не почувствуют (если регионов, конечно, меньше, чем потоков). Однако даже такой подход не идеален, вспомните открытия сервера (кроме того, когда Херостив выделил 2 гигабайта оперативки) - где же была эта Фолия? Правда в том, что когда много игроков собираются в одном месте, то есть в одном регионе, она ни капельки-то и не выигрывает у обычного Пейпера, потому что один регион всё ещё считается на одном ядре. Причём у процессора ещё могут быть мощности - какой-то другой регион будет практически не нагружен, но их нельзя будет перекинуть на проблемный регион, что опять является потерей денег.
Так кто же нас спасёт тогда? Аркадий Паровозов? Нет, нас спасёт Тыква. Пампкин - это yet another реализация серверной части Майнкрафта на языке Rust. В отличие от остальных у него уже есть неплохой прогресс, и хоть до полного Майнкрафт сервера ему ещё далеко (поэтому и копиум), кто-то (действительно, кто?) уже возлагает на него большие надежды. Он ест меньше оперативной памяти (в разы), у него нет сборщика мусора, и ресурсов процессора он тоже потребляет меньше. А это значит, что можно покупать самый дешёвый говнохост за 2000 рублей и не тратить по 15к на выделенный сервер. Да и с потоками он работает куда лучше, чем Фолия. Как? Ну, это сложный вопрос, я не буду его разбирать (возможно, потому что сам не знаю).
Остаётся один вопрос - когда? А вот трудно сказать. С одной стороны, уже очень много сделано, а с другой - ещё многое нужно пофиксить. Вряд ли сейчас на нём запустится и 5% всех ферм в Майнкрафте. К тому же не забывайте, что полностью написать сервер с нуля означает отказаться от всех плагинов. То есть лакипёрмс, чат, таб, система наказаний, донат - всё это придётся написать заново. Короче говоря, пока что это остаётся копиумом, но, может быть, в один день вы увидите приватку, где в одном мире будет 1000 игроков....
Вот такие пироги.