На чтение 3 мин. Просмотров 1.1k. Опубликовано 11.05.2021
Примечание. Если вы пытаетесь настроить обычный сервер, вы попали не на ту страницу. Это необходимо для настройки модифицированного сервера SpigotMC или сокращающегося Bukkit. Если вы хотите установить немодифицированный («Ванильный») сервер Minecraft, обратитесь к Руководствам/Настройка сервера.
Итак, вы пользуетесь ванильным сервером две недели, и все становится скучно. Вам нужен сервер с большим количеством функций настройки и простым в настройке и использовании интерфейсом. Вам нужен кран. Эта страница покажет вам, как легко настроить сервер и пригласить друзей, а также список обязательных плагинов или модов, используемых на сервере. Spigot обновлен до версии 1.16. x функциональность.
Обратите внимание, что это руководство распространяется только на машины с Windows. Если вы используете macOS или Linux, прочтите это руководство.
Содержание
- Получение файлов
- Подготовка сервера
- Запуск сервера в первый раз
- Настройка вашего сервера
Получение файлов
Сначала загрузите последнюю версию BuildToolsGUI.exe отсюда. Для использования этой программы у вас должен быть установлен .NET 4.5. Если вы какое-то время использовали свой компьютер, вероятно, он у вас уже есть. Если нет, возьмите установщик здесь.
Подготовка сервера
Теперь, когда у нас есть BuildToolsGUI, мы готовы начать. Откройте файл BuildToolsGUI.exe и, если хотите, измените версию в раскрывающемся меню. Нажмите «Запустить BuildTools». Он начнет работать, и вы можете немного подождать, пока он не закончит работу. Обратите внимание, что это может занять некоторое время, в зависимости от вашего подключения и вашего компьютера. Как только он будет запущен, откройте папку BuildTools, созданную в том же каталоге, что и исполняемый файл. Затем создайте на рабочем столе папку с именем « Spigot ». Скопируйте файл spigot-jar в папку Spigot и переименуйте его в spigot.jar
Затем откройте текстовый редактор, например Блокнот, и вставьте в него следующую команду:
java -Xmx1024M -Xms1024M -jar spigot.jar
В текстовом редакторе выберите «Файл»> «Сохранить как» и перейдите в каталог Spigot . . Измените имя файла на run.bat.
Запуск сервера в первый раз
- Дважды щелкните значок run.bat в каталоге Spigot . Окно командной строки откроется ненадолго, а затем закроется.
- Откройте eula.txt в каталоге Spigot и измените eula = false на eula = true.
- Еще раз дважды щелкните run.bat , чтобы запустить сервер. Некоторые новые файлы будут созданы в каталоге Spigot .
Поздравляем! Теперь ваш сервер запущен. Чтобы подключиться к нему, откройте версию Minecraft, на которой установлен ваш сервер, нажмите Multiplayer , затем Direct Connect и введите localhost как IP-адрес сервера. Вы должны подключиться к миру, который был создан мгновение назад. Теперь вы можете начать настраивать свой сервер с помощью различных включенных опций и плагинов, которые вы можете скачать..
Как проверить мой IP-адрес для подключения с другого компьютера?
- Открыть приложение CMD
- введите в нем «ipconfig».
- Ваш IP-адрес находится рядом с текстом «IPv4-адрес».
Настройка вашего сервера
Пока командное окно все еще открыто, введите op yourusername> и нажмите Enter. Теперь вы оператор и имеете право выполнять команды на сервере. Еще один файл, с которым можно поиграть, — это файл server.properties . Откройте его в текстовом редакторе и поиграйте. В Интернете есть много руководств, которые показывают, что делают эти различные варианты, и один из них можно найти здесь. Когда вы закончите на своем сервере, введите stop в консоль, чтобы остановить сервер. Если вы хотите добавить плагины на свой сервер, вы можете найти их здесь и здесь. Чтобы установить загруженный плагин, поместите его в папку Plugins в каталоге Spigot . Чтобы снова запустить сервер, просто дважды щелкните run.bat.
- .yml
- bukkit.yml
- paper
- paper.yml
- server.properties
- spigot
- spigot.yml
- настройка
- оптимизация
- ядро
-
Привет всем! У меня есть статья Создание сервера с нуля от А до Я. В ней есть пункт про оптимизацию сервера. На просторах RuBukkit я не нашел свежих статей по настройке сервера и оптимизации сервера в частности.
В этой статье я предоставляю вам вольный перевод некоторых зарубежных статей, ссылки на оригиналы я приложу.
Сущность (entity) — все динамические и движущиеся объекты в мире Minecraft. Например, все мобы, игроки и даже падающие блоки гравия/песка и т.п.
tps (tick per second) — тиков в секунду. В Minecraft 1 секунда = 20 тикам.Если вы используете ядра Vanilla (CraftBukkit), Fabric или Spigot — зайдите в свой server.properties и измените sync-chunk-writes на false. Эта опция принудительно отключена в Paper и его форках, но на других ядрах вам нужно отключить ее вручную. Это позволяет серверу сохранять чанки вне основного потока, снижая нагрузку на сервер.
1. Вступление
Никогда не будет руководства, которое даст вам идеальные результаты. Каждый сервер имеет свои собственные потребности и ограничения на то, чем вы можете или готовы пожертвовать. Цель данного руководства — помочь вам понять, какие параметры влияют на производительность и что именно они меняют.2. Подготовка
Выбор ядра сервера может иметь огромное значение для производительности и возможностей API. В настоящее время существует множество жизнеспособных популярных ядер, но есть и несколько, от которых следует держаться подальше по разным причинам.Рекомендуемые ядра:
Paper — Самое популярное ядро, направленное на повышение производительности и исправление несоответствий в геймплее и механике.
Pufferfish — форк ядра Paper, направленный на улучшение производительности сервера.
Purpur — форк ядра Paper, ориентированный на функциональность и свободу настройки параметров сервера.Sponge — ядро отличное от Paper, в основном используется для серверов с модами. Но также хорошо себя показывает и на серверах без них. Только вот плагины написанные под Spigot/PaperSpigot не будут работать на нем из-за специфичного API ядра. Ядро подойдет для энтузиастов
Вам следует держаться подальше от:
— Любых платных ядер, авторы которых утверждают, что он асинхронный — 99,99% вероятность того, что это мошенничество.
— Bukkit/CraftBukkit/Spigot — Крайне устаревшие в плане производительности по сравнению с другими ядрами.
— Любой плагин/программное обеспечение, которое включает/выключает/перезагружает плагины во время выполнения. См. этот раздел, чтобы понять почему.Многие форки от Pufferfish или Purpur, будут сталкиваться с нестабильностью и другими проблемами. Если вы ищете большего прироста производительности, оптимизируйте свой сервер или создайте личный форк
3. Предзагрузка карты (чанков карты)
Предварительная генерация карт — один из самых важных шагов в улучшении малобюджетного сервера. Это больше всего помогает серверам, размещенным на общем процессоре/одноядерном процессоре, поскольку они не могут полностью использовать асинхронную загрузку чанков. Вы можете использовать такой плагин, как Chunky, для предварительной генерации мира. Обязательно установите границу мира, чтобы ваши игроки не генерировали новые чанки! Обратите внимание, что предварительная генерация может занять несколько часов, в зависимости от радиуса, который вы установите настройках плагина. Имейте в виду, что при использовании Paper загрузка чанков не влияет на ваш tps, но скорость загрузки чанков может значительно замедлиться, если процессор вашего сервера перегружен.Важно помнить, что обычный мир, ад и край имеют отдельные границы мира, которые должны быть установлены для каждого мира. Размеры ада в 8 раз меньше размеров обычного мира (если они не изменены с помощью датапака), поэтому если вы неправильно установите размер, ваши игроки могут оказаться за границей мира!
Обязательно установите стандартную (ванильную) границу мира (/worldborder set [радиус]), так как она ограничивает некоторые функции, например, диапазон поиска карт сокровищ, что может вызвать лаги.
3.Конфигурации
3.1 Сетевая часть
server.properties
network-compression-threshold
Рекомендуемое значение: 256Это позволяет установить предельный размер пакета (в байтах) перед тем, как сервер попытается его сжать. Установка большего значения может сэкономить некоторые ресурсы процессора за счет пропускной способности, а установка значения -1 отключает эту функцию. Установка большего значения также может навредить игрокам с медленным интернетом. Если ваш сервер находится в сети с прокси-сервером (например, bungeecord) или на той же машине (с пингом менее 2 мс), отключение этого параметра (-1) будет полезно, так как скорость внутренней сети обычно может справиться с дополнительным несжатым трафиком.3.2 Чанки
server.properties
simulation-distance
Рекомендуемое значение: 4Это расстояние в чанках вокруг игрока, которое будет обрабатывать сервер. По сути, это расстояние от игрока, на котором будут происходить события. Это включает в себя переплавку в печах, рост растений и т.д. Это параметр, который вы устанавливаете специально низким, где-то около 3 или 4, из-за наличия параметра view-distance. Это позволяет загружать больше чанков, не обрабатывая в них что-либо. Это позволяет игрокам видеть дальше без такого же влияния на производительность.view-distance
Рекомендуемое значение: 7Это расстояние в чанках, которое будет отображено игрокам (дальность прорисовки), аналогично no-tick-view-distance у Paper. В версии 1.18 игрок теперь учитывает дальность прорисовки на стороне сервера, что приводит к появлению уродливого тумана при низком значении этого параметра.Общая дальность прорисовки будет равно наибольшему значению между параметрами simulation-distance и view-distance. Например, если simulation-distance установлено на 4, а view-distance — на 12, то у игрока будет отображено 12 чинков.
spigot.yml
view-distance
Рекомендуемое значение: изначально указанное в конфиге (default)Это значение перезаписывает одно из значений server.properties, если оно не установлено по умолчанию. Вы должны оставить его по умолчанию, чтобы параметры симуляции окружения и дальности прорисовки были в одном месте и их было проще изменить.paper.yml
delay-chunk-unloads-by
Рекомендуемое значение: 10Этот параметр позволяет вам настроить, как долго (в секундах) чанки будут оставаться загруженными после ухода игрока из них. Это помогает не загружать и выгружать одни и те же чанки постоянно, когда игрок перемещается туда-сюда. Слишком высокие значения могут привести к тому, что одновременно будет загружаться слишком много чанков. Для мест, в которые часто телепортируются и загружаются, например, спавн, подумайте о том, чтобы держать их постоянно загруженными. Это будет легче для вашего сервера, чем постоянно загружать и выгружать чанки.prevent-moving-into-unloaded-chunks
Рекомендуемое значение: trueКогда включено, предотвращает перемещение игроков в незагруженные чанки, что вызывает синхронизацию, которая перегружает основной поток, вызывая лаги. Вероятность того, что игрок наткнется на незагруженный чанк, тем выше, чем меньше расстояние просмотра.prevent-moving-into-unloaded-chunks
Рекомендуемые значения:experience_orb: 16 arrow: 16 dragon_fireball: 3 egg: 8 ender_pearl: 8 eye_of_ender: 8 fireball: 8 small_fireball: 8 firework_rocket: 8 potion: 8 llama_spit: 3 shulker_bullet: 8 snowball: 8 spectral_arrow: 16 experience_bottle: 3 trident: 16 wither_skull: 4 area_effect_cloud: 8С помощью этой записи вы можете установить ограничения на то, сколько сущностей определенного типа может быть сохранено. Вы должны установить лимит для каждого снаряда, по крайней мере, чтобы избежать проблем с сохранением огромного количества снарядов и падением сервера при их загрузке. Вы можете указать здесь любую сущность, см. Документацию Spigot’a, чтобы найти типы сущностей. Пожалуйста, настройте лимит по своему вкусу. Рекомендуемое значение для всех снарядов — около 10. Вы также можете добавить в этот список другие сущности. Этот параметр конфигурации не предназначен для того, чтобы помешать игрокам создавать большие фермы мобов.Последнее редактирование: 21 мар 2022 -
3.3 Мобы
bukkit.yml
spawn-limits
Рекомендуемые значения:monsters: 20 animals: 5 water-animals: 2 water-ambient: 2 water-underground-creature: 3 axolotls: 3 ambient: 1Математически ограничение мобов выглядит так: [playercount] * [limit], где playercount — текущее количество игроков на сервере. Логично, что чем меньше число, тем меньше мобов вы увидите. per-player-mob-spawn накладывает дополнительный лимит на это, обеспечивая равномерное распределение мобов между игроками. Снижение этого показателя — палка о двух концах; да, у вашего сервера будет меньше работы, но в некоторых игровых режимах естественный спавн мобов является важной частью игрового процесса. При правильной настройке параметра mob-spawn-range вы можете дойти до 20 или меньше. Если установить меньшее расстояние спавна мобов, будет казаться, что вокруг каждого игрока больше мобов. Если вы используете Paper, вы можете установить ограничения мобов для каждого мира в файле paper.yml.ticks-per
Рекомендуемые значения:monster-spawns: 10 animal-spawns: 400 water-spawns: 400 water-ambient-spawns: 400 water-underground-creature-spawns: 400 axolotl-spawns: 400 ambient-spawns: 400Эта опция устанавливает, как часто (в тиках) сервер пытается спавнить определенных мобов. Водные/амбиентные мобы не обязательно должны появляться каждый тик, так как их обычно не убивают так быстро. Что касается монстров: Небольшое увеличение времени между спавнами не должно повлиять на частоту спавнов даже на фермах мобов. В большинстве случаев все значения этого параметра должны быть больше 1. Установка этого значения также позволит вашему серверу лучше справляться с зонами, где спавн мобов отключен.spigot.yml
mob-spawn-range
Рекомендуемое значение: 2Позволяет уменьшить диапазон (в чанках), в котором мобы будут спавниться вокруг игрока. В зависимости от игрового режима вашего сервера и количества игроков, вы можете уменьшить это значение вместе с spawn-limits в bukkit.yml. Если установить это значение ниже, вам будет казаться, что вокруг вас больше мобов. Это значение должно быть меньше или равно дальности прорисовки (view-distance), и никогда не должно быть больше расстояния жесткого деспауна / 16.entity-activation-range
Рекомендуемые значения:animals: 16 monsters: 24 raiders: 48 misc: 8 water: 8 villagers: 16 flying-monsters: 48Вы можете установить, на каком расстоянии от игрока должен находиться моб, чтобы он мог активироваться (выполнять какие-либо действия, то бишь, работал их интеллект). Уменьшение этих значений повышает производительность, но может привести к тому, что мобы не будут реагировать, пока игрок не подойдет к ним очень близко. Слишком сильное уменьшение этого параметра может привести к поломке некоторых ферм мобов, чаще всего страдают фермы железа.entity-tracking-range
Рекомендуемые значения:players: 48 animals: 48 monsters: 48 misc: 32 other: 64Это расстояние в блоках, с которого мобы будут видны/отображаться. Если установить слишком низкое значение, это может привести к тому, что мобы будут появляться из ниоткуда рядом с игроком. В большинстве случаев этот параметр должен быть выше, чем параметр entity-activation-range.tick-inactive-villagers
Рекомендуемое значение: falseЭто позволяет вам контролировать, должны ли жители быть активными вне диапазона активации (параметр entity-activation-range). Это заставит жителей действовать как обычно и игнорировать диапазон активации. Отключение этого параметра повысит производительность, но может запутать игроков в некоторых ситуациях. Это может вызвать проблемы с фермами железа и пополнением торговых запасов.nerf-spawner-mobs
Рекомендуемое значение: trueВы можете сделать так, чтобы мобы, порожденные спавнером монстров, не имели ИИ. В таком случае мобы не будут ничего делать. Вы можете заставить их прыгать в воде (то есть, не тонуть в ней), изменив spawner-nerfed-mobs-should-jump на true в paper.yml.paper.yml
despawn-ranges
Рекомендуемые значения:monster: soft: 30 hard: 56 creature: soft: 30 hard: 56 ambient: soft: 30 hard: 56 axolotls: soft: 30 hard: 56 underground_water_creature: soft: 30 hard: 56 water_creature: soft: 30 hard: 56 water_ambient: soft: 30 hard: 56 misc: soft: 30 hard: 56Позволяет настраивать расстояния деспавна сущностей (в блоках). Уменьшите эти значения, чтобы быстрее деcпавнить мобов, находящихся далеко от игрока. Параметр soft должен быть около 30, а hard — немного больше, чем значение параметра simulation-distance, чтобы мобы не деcпавнились сразу, когда игрок проходит чуть дальше точки загрузки чанка (это хорошо работает благодаря delay-chunk-unloads-by в paper.yml). Когда моб находится за пределами hard значения, он будет мгновенно деспавниться. Когда моб находится между soft и hard значениями, он будет деспавниться со случайным шансом. Hard радиус действия должен быть больше soft. Вы должны настроить его в соответствии с дальностью прорисовки (view-distance), используя (simulation-distance * 16) + 8. Это частично учитывает чанки, которые еще не были выгружены после посещения их игроком.per-player-mob-spawns
Рекомендуемое значение: trueЭта опция определяет, должны ли при спавне мобов учитываться данные о том, сколько мобов уже находится рядом с игроком. Вы сможете избежать многих проблем, связанных с непоследовательным спауном мобов из-за того, что игроки создают фермы, которые занимают весь mobcap. Это обеспечит эффект спавна, более похожий на одиночную игру, и позволит вам установить более низкие лимиты спавна. Включение этой функции незначительно влияет на производительность, однако это влияние затмевается улучшением лимитов спавна.max-entity-collisions
Рекомендуемое значение: 2Перезаписывает одноименную опцию в spigot.yml. Она позволяет вам решить, сколько столкновений может обработать одна сущность за один раз. Значение 0 приведет к невозможности толкать другие сущности, включая игроков. Значения 2 должно быть достаточно в большинстве случаев.Стоит отметить, что игровое правило maxEntityCramming станет бесполезным, если его значение превысит значение этого параметра.update-pathfinding-on-block-update
Рекомендуемое значение: falseОтключение этой опции приведет к тому, что поиск пути будет выполняться реже, что увеличит производительность. В некоторых случаях это приведет к тому, что мобы будут выглядеть более лагнутыми; они будут просто пассивно обновлять свой путь каждые 5 тиков (0,25 секунды).fix-climbing-bypassing-cramming-rule
Рекомендуемое значение: trueВключение этого параметра исправит то, что сущности не будут тесниться при лазании. Это предотвратит образование абсурдного количества мобов в небольших пространствах, даже если они карабкаются (например, пауки).armor-stands-tick
Рекомендуемое значение: falseВ большинстве случаев можно смело устанавливать значение false. Если вы используете подставки для брони или какие-либо плагины, изменяющие их поведение, и у вас возникли проблемы, установите значение true. Это предотвратит столкновение стоек для брони с водой или влияние гравитации.armor-stands-do-collision-entity-lookups
Рекомендуемое значение: falseЗдесь вы можете отключить столкновения стойки брони. Это поможет, если у вас много стоек брони и вам не нужно, чтобы они сталкивались с чем-либо.tick-rates
Рекомендуемые значения:sensor: villager: secondarypoisensor: 80 nearestbedsensor: 80 villagerbabiessensor: 40 playersensor: 40 nearestlivingentitysensor: 40 behavior: villager: validatenearbypoi: 60 acquirepoi: 120Это определяет, как часто в тиках запускаются указанные поведения и датчики. «acquirepoi» (я не смог найти понятный перевод этому слову) для жителей кажется самым тяжелым поведением, поэтому этот параметр был сильно увеличен. Уменьшите это значение если у жителей возникают проблемы с поиском дороги. -
3.4 Разное
spigot.yml
merge-radius
Рекомендуемые значения:Этот параметр определяет расстояние между сливающимися предметами и опытом, уменьшая количество предметов на земле. Слишком высокое значение приведет к иллюзии исчезновения предметов или сфер опыта при их слиянии. Слишком высокое значение приведет к поломке некоторых ферм, а также позволит предметам телепортироваться через блоки. Нет никаких проверок, чтобы предотвратить слияние предметов через стены. Сферы опыта сливаются только при создании.hopper-transfer
Рекомендуемое значение: 8Время в тиках, которое воронки будут ждать, чтобы переместить предмет. Увеличение этого значения поможет повысить производительность, если на вашем сервере много воронок, но при слишком высоком значении будут ломаться часы на основе воронок и, возможно, системы сортировки предметов.hopper-check
Рекомендуемое значение: 8Время в тиках между проверкой воронок на наличие предмета над ними или в инвентаре над ними. Увеличение этого значения повысит производительность, если на вашем сервере много воронок, но нарушит часы на основе воронок и системы сортировки предметов, полагающиеся на потоки воды.paper.yml
alt-item-despawn-rate
Рекомендуемые значения:enabled: true items: COBBLESTONE: 300 NETHERRACK: 300 SAND: 300 RED_SAND: 300 GRAVEL: 300 DIRT: 300 GRASS: 300 PUMPKIN: 300 MELON_SLICE: 300 KELP: 300 BAMBOO: 300 SUGAR_CANE: 300 TWISTING_VINES: 300 WEEPING_VINES: 300 OAK_LEAVES: 300 SPRUCE_LEAVES: 300 BIRCH_LEAVES: 300 JUNGLE_LEAVES: 300 ACACIA_LEAVES: 300 DARK_OAK_LEAVES: 300 CACTUS: 300 DIORITE: 300 GRANITE: 300 ANDESITE: 300 SCAFFOLDING: 600Этот список позволяет вам установить альтернативное время (в тиках) для деспавна определенных типов выпавших предметов быстрее или медленнее, чем по умолчанию. Этот параметр можно использовать вместо плагинов очистки предметов вместе с merge-radius для повышения производительности.use-faster-eigencraft-redstone
Рекомендуемое значение: trueЕсли опция включена, то редстоун система (механизмы) заменяется более быстрой и альтернативной версией, которая уменьшает избыточные обновления блоков, снижая объем работы, которую приходится выполнять вашему серверу. Включение этой функции может значительно повысить производительность, не внося несоответствий в игровой процесс. Включение этой функции даже исправит некоторые несоответствия редстоуна из craftbukkit.disable-move-event
Рекомендуемое значение: falseОтключает событие InventoryMoveItemEvent для API. Если вы не знаете что это и для чего используете — оставьте значение этого параметра false.ignore-occluding-blocks
Рекомендуемое значение: trueОпределяет, будут ли воронки игнорировать контейнеры внутри полных блоков, например, вагонетка с воронкой внутри блока с песком или гравием. Если эта опция включена, это приведет к поломке некоторых устройств, зависящих от такого поведения.mob-spawner-tick-rate
Рекомендуемое значение: 2Эта опция позволяет настроить частоту активации спавнеров (не спавна мобов, а именно их активацию). Более высокие значения снизят нагрузку на сервер, если у вас много спавнеров. Хотя если установить слишком высокое значение (относительно задержки спавнеров), скорость спавна мобов снизится.optimize-explosions
Рекомендуемое значение: trueУстановка этого значения в true заменяет обычный алгоритм взрыва на более быстрый, ценой небольшой неточности при расчете урона от взрыва. Обычно это незаметно.enable-treasure-maps
Рекомендуемое значение: falseГенерация карт сокровищ очень затратная операция и может привести к зависанию сервера, если структура, которую он пытается найти, находится за пределами вашего предварительно сгенерированного мира. Включать эту функцию безопасно только в том случае, если вы предварительно сгенерировали свой мир и установили границы ванильного мира.treasure-maps-return-already-discovered
Рекомендуемое значение: trueЗначение по умолчанию (false) этого параметра заставляет вновь сгенерированные карты искать неисследованные структуры, которые обычно находятся за пределами вашей предварительно сгенерированной местности. Установка значения на true заставляет карты вести к ранее обнаруженным структурам. Если вы не установите это значение в true, вы можете столкнуться с зависанием или падением сервера при генерации новых карт сокровищ.grass-spread-tick-rate
Рекомендуемое значение: falseВремя в тиках между попытками сервера распространить траву или мицелий. Благодаря этому большие участки грязи будут превращаться в траву или мицелий немного дольше. Если вы хотите уменьшить это значение без заметного уменьшения скорости распространения, установите его около 4.container-update-tick-rate
Рекомендуемое значение: 1Время в тиках между обновлениями контейнеров. Увеличение этого параметра может помочь, если обновление контейнеров вызывает у вас проблемы (такое случается редко), но облегчает игрокам десинхронизацию при взаимодействии с инвентарем (призрачные предметы).non-player-arrow-despawn-rate
Рекомендуемое значение: 20Время в тиках, по истечении которого стрелы, выпущенные мобами, должны исчезать после попадания во что-то. Игроки все равно не могут их подбирать, поэтому можно установить значение 20 (1 секунда).creative-arrow-despawn-rate
Рекомендуемое значение: 20Время в тиках, по истечении которого стрелы, выпущенные игроками в творческом режиме, должны исчезать после попадания во что-то. Игроки все равно не могут их подбирать, поэтому можно установить значение 20 (1 секунда). -
3.5 Вспомогательное
paper.yml
anti-xray
Рекомендуемое значение: trueПоставьте значение true, чтобы скрыть руды от x-ray (читы). Для детальной настройки этой функции ознакомьтесь с рекомендуемыми настройками Stonar96. Включение этой функции действительно снизит производительность, однако она гораздо эффективнее, чем любой плагин анти-ксрей. В большинстве случаев влияние на производительность будет незначительным.remove-corrupt-tile-entities
Рекомендуемое значение: trueИзмените значение на true, если ваша консоль засыпана ошибками, связанными с сущностями тайлов. Это приведет к удалению всех тайловых сущностей, вызывающих ошибку, вместо того, чтобы игнорировать ее. Если вы часто получаете предупреждения о тайловых сущностях, выясните, почему они ломаются. Это не является решением основной проблемы.nether-ceiling-void-damage-height
Рекомендуемое значение: 127Если этот параметр больше 0, игроки, находящиеся выше заданного уровня y-координаты, будут получать повреждения, как если бы они находились в пустоте. Это не позволит игрокам использовать выход за бедрок в аду. Обычно пустота имеет высоту 128 блоков, поэтому лучше установить значение 127. Если вы каким-либо образом изменяете высоту ада, вам следует установить значение [ваша_высота_ада] — 1.4. Плагины из разряда «Слишком хорошо, чтобы быть правдой»
1) Плагины, удаляющие наземные предметы
Абсолютно не нужны, поскольку их можно заменить настройками merge-radius и alt-item-despawn-rate, и, честно говоря, они менее настраиваемы, чем основные конфигурации сервера. Они используют больше ресурсов для сканирования и удаления предметов, чем для того, чтобы не удалять предметы вообще.2) Плагины для складывания (стакания) мобов
Очень трудно оправдать их использование. Стакание естественно порожденных существ вызывает больше лагов, чем отсутствие их вообще, из-за того, что сервер постоянно пытается породить больше мобов. Единственный «приемлемый» вариант использования — это сервера с большим количеством спавнеров.3) Плагины, включающие/отключающие другие плагины
Все, что включает или отключает плагины во время выполнения, крайне опасно. Загрузка такого плагина может привести к фатальным ошибкам с данными отслеживания, а отключение плагина может привести к ошибкам из-за удаления зависимости. Команда /reload страдает от точно таких же проблем, и вы можете прочитать о них подробнее в статье блога me45025. Что такое лаги? — измерение производительности
mspt
Paper предлагает команду /mspt, которая сообщит вам, сколько времени потребовалось серверу для расчета последних тиков. Если первое и второе значение, которое вы видите, меньше 50, то поздравляю, ваш сервер не отстает! Если третье значение больше 50, это означает, что по крайней мере один тик занял больше времени. Это совершенно нормально и случается время от времени, так что не паникуйте.timings (тайминги)
Отличный способ узнать, что может происходить, когда ваш сервер лагает — тайминг. Тайминги — это инструмент, позволяющий увидеть, какие задачи занимают больше всего времени. Это самый базовый инструмент поиска и устранения неполадок, и если вы обратитесь за помощью по поводу лагов, вас, скорее всего, попросят предоставить тайминги.
Чтобы получить тайминги вашего сервера, достаточно выполнить команду /timings paste и перейти по ссылке, которую вам предоставят. Вы можете поделиться этой ссылкой с другими людьми, чтобы они могли помочь вам. Также легко ошибиться, если вы не знаете, что делаете. Существует подробный видеоурок от Aikar о том, как их читать.spark
Spark — это плагин, который позволяет вам профилировать использование процессора и памяти ваших серверов. О том, как его использовать, вы можете прочитать на его вики. Также есть руководство о том, как найти причину лагов.Последнее редактирование: 21 мар 2022 -
Дополнение про настройку Anti-Xray от stonar96. Оригинальная статья
Anti-Xray может быть настроен для каждого мира в конфигурационном файле paper.yml. Чтобы понять, как работает конфигурация для каждого мира, пожалуйста, сначала прочитайте эту статью. Обратите внимание, что после изменения любых настроек Anti-Xray необходимо перезагрузить сервер. Выполнение команды /reload (вы никогда не должны этого делать) не применит настройки к уже загруженным мирам.Официальную документацию по настройкам Anti-Xray и их значению можно найти здесь.
В основном Anti-Xray имеет два различных режима:
engine-mode: 1 заменяет указанные руды на «фальшивые» каменные, нетеррасовые или концевые каменные блоки в зависимости от типа мира
engine-mode: 2 случайным образом размещает указанные фальшивые руды, когда клиенту отправляется пакет чанков. На следующей картинке показано, как это выглядит для игрока, использующего Xray на вашем сервере.
engine-mode: 1 менее требователен к вычислениям, но режим engine-mode: 2 лучше работает для предотвращения Xray. Как вы можете видеть на картинке выше, режим engine-mode: 1 не идеален, потому что только те руды, которые полностью закрыты твердыми блоками, могут быть скрыты. Это означает, что руды, находящиеся под воздействием воздуха, например, в пещерах, все равно видны.
В engine-mode: 2 фальшивые руды загораживают вид на эти руды, и дополнительно можно добавить фальшивые воздушные блоки.Настройки по умолчанию
Это настройки по умолчанию для Anti-Xray. Как уже упоминалось выше, вам следует ознакомиться с официальной документацией. В комментариях ниже я добавил некоторую дополнительную информацию, которой там нет.world-settings: default: # Другие настройки мира по умолчанию. anti-xray: # «enabled» управляет состоянием включения/выключения системы Anti-Xray. enabled: false # «engine-mode» описан выше. engine-mode: 1 # Начиная с версии 1.15.2 build #248 режим chunk-edge-mode больше не существует. # Эта настройка больше не нужна, потому что соседние чанки теперь обычно загружаются в любом случае. # Устанавливает, как движок обрабатывает края чанков. # Где 1 - не обфусцировать (не смешивая/путая) края чанков с незагруженными соседями, # 2 - не отправлять чанк, пока не появятся его соседи, # и 3 - загрузить соседний чанк, чтобы он мог правильно замаскировать текущий край. chunk-edge-mode: 2 # Начиная с версии 1.17 build #1 «max-chunk-section-index» больше не существует. # Этот параметр заменен параметром «max-block-height». # «max-chunk-section-index» контролирует высоту, до которой должен работать движок. # y = (max-chunk-section-index + 1) * 16 # Значение «max-chunk-section-index» больше 15 по умолчанию равно 15. Значение «max-chunk-section-index» меньше 0 не имеет смысла. max-chunk-section-index: 3 # «max-block-height» контролирует высоту (y-координату), на которой должен работать движок. # Возможные значения - только целые числа, кратные 16. # Если указано другое значение, оно "округляется" до ближайшего кратного 16. # Начиная с версии 1.18 некоторые руды генерируются намного выше. # Пожалуйста, отрегулируйте настройку max-block-height по своему усмотрению. # https://minecraft.fandom.com/wiki/Ore может быть полезен. max-block-height: 64 # update-radius - радиус для обновления блоков, которые отправляют реальные блоки игроку, когда блок разрушен. # Есть только 3 допустимых варианта: 0, 1 и 2. # Радиус обновления больше 2 по умолчанию равен 2. Радиус обновления меньше 0 по умолчанию равен 0. # Не используйте update-radius: 0 на основном (боевом) сервере. Это только тестовый режим. update-radius: 2 # Нужно ли обфусцировать (смешивать/скрывать) блоки, соприкасающиеся с лавой. # Не очень хорошо работает с некаменными текстурами руды. lava-obscures: false # Включать или нет поддержку разрешения paper.antixray.bypass. # В зависимости от вашего плагина разрешения, это может вызвать проблемы с производительностью. use-permission: false # В режиме engine-mode: 1 скрытые блоки заменяются на stone, netherrack или end_stone в зависимости от типа мира. # все типы воздушных блоков игнорируются в этом списке. # В режиме engine-mode: 2 скрытые блоки размещаются случайным образом. # в этом списке игнорируются тайловые сущности, такие как сундук или спавнер. # блоки могут быть добавлены в этот список несколько раз, соответственно, они используются чаще. # пустой или недействительный список или список, содержащий только игнорируемые блоки, приводит к [diamond_ore]. # по умолчанию размещаются состояния блоков. hidden-blocks: - copper_ore - deepslate_copper_ore - gold_ore - deepslate_gold_ore - iron_ore - deepslate_iron_ore - coal_ore - deepslate_coal_ore - lapis_ore - deepslate_lapis_ore - mossy_cobblestone - obsidian - chest - diamond_ore - deepslate_diamond_ore - redstone_ore - deepslate_redstone_ore - clay - emerald_ore - deepslate_emerald_ore - ender_chest # В режиме engine-mode: 1 блоки замены не используются. Изменение этого списка в режиме engine-mode: 1 не имеет никакого эффекта. # В режиме engine-mode: 2 блоки замены и скрытые блоки случайным образом заменяются скрытыми блоками. # тайловые сущности, такие как сундук или спавнер, игнорируются в скрытых блоках. # тайловые сущности могут быть добавлены в блоки-заменители. # все типы воздушных блоков не заменяются, независимо от того, куда они добавлены. replacement-blocks: - stone - oak_planks - deepslate # Другие настройки мира по умолчанию.Рекомендуемые настройки
Engine-Mode 1
world-settings: default: # Другие настройки мира. anti-xray: enabled: true engine-mode: 1 chunk-edge-mode: 2 max-chunk-section-index: 3 max-block-height: 64 update-radius: 2 lava-obscures: false use-permission: false hidden-blocks: # Нет возможности спрятать сундуки в подземелье, но зарытые сокровища будут спрятаны. - chest - coal_ore - deepslate_coal_ore - copper_ore - deepslate_copper_ore - raw_copper_block - diamond_ore - deepslate_diamond_ore - emerald_ore - deepslate_emerald_ore - gold_ore - deepslate_gold_ore - iron_ore - deepslate_iron_ore - raw_iron_block - lapis_ore - deepslate_lapis_ore - redstone_ore - deepslate_redstone_ore replacement-blocks: - stone - oak_planks - deepslate # Другие настройки мира.# world_nether: нужно изменить, если ваш мир называется по-другому. world_nether: anti-xray: max-chunk-section-index: 7 max-block-height: 128 hidden-blocks: - ancient_debris - nether_gold_ore - nether_quartz_ore # world_the_end: нужно изменить, если ваш мир называется по-другому. world_the_end: anti-xray: enabled: falseEngine-Mode 2
world-settings: default: # Другие настройки мира. anti-xray: enabled: true engine-mode: 2 chunk-edge-mode: 2 max-chunk-section-index: 3 max-block-height: 64 update-radius: 2 lava-obscures: false use-permission: false hidden-blocks: # Здесь можно добавить воздух, чтобы генерировалось много отверстий. # Это хорошо работает против пещероискателей, но может вызвать падение FPS у всех игроков. - air - copper_ore - deepslate_copper_ore - raw_copper_block - diamond_ore - deepslate_diamond_ore - gold_ore - deepslate_gold_ore - iron_ore - deepslate_iron_ore - raw_iron_block - lapis_ore - deepslate_lapis_ore - redstone_ore - deepslate_redstone_ore replacement-blocks: # Сундук - это плиточный объект и не может быть добавлен к скрытым блокам в режиме engine-mode: 2. # Но добавление сундука сюда позволит спрятать зарытые сокровища, если увеличить max-chunk-section-index. - chest - amethyst_block - andesite - budding_amethyst - calcite - coal_ore - deepslate_coal_ore - deepslate - diorite - dirt - emerald_ore - deepslate_emerald_ore - granite - gravel - oak_planks - smooth_basalt - stone - tuff # Другие настройки мира.# world_nether: нужно изменить, если ваш мир называется по-другому. world_nether: anti-xray: max-chunk-section-index: 7 max-block-height: 128 hidden-blocks: # Смотри примечание о воздухе выше. - air - ancient_debris - bone_block - glowstone - magma_block - nether_bricks - nether_gold_ore - nether_quartz_ore - polished_blackstone_bricks replacement-blocks: - basalt - blackstone - gravel - netherrack - soul_sand - soul_soil # world_the_end: нужно изменить, если ваш мир называется по-другому. world_the_end: anti-xray: enabled: falseПоследнее редактирование: 21 мар 2022 -
Руководство по настройкам для каждого мира. Оригинальная статья
Наиболее неизвестная функция в Spigot/Paper — это возможность настраивать параметры мира для каждого мира. Это означает, что вы можете выбирать, какие параметры вы хотите (или не хотите) в каждом мире.
По умолчанию
Раздел настроек мира «по умолчанию» будет генерироваться автоматически в ваших .yml. Настройки, применяемые в разделе по умолчанию применяются ко ВСЕМ мирам, если вы не выделите новый файл .yml для конкретного мира. Вообще говоря, вы должны оставить большинство настроек по умолчанию, так как большинство из них действуют во всех мирах, либо они уже являются общими. Если значение не действует в мире, оно просто ничего не будет делать. Пример scan-for-legacy-ender-dragon из Paper не будет работать в аду, поэтому нет необходимости отключать его там.
Для каждого мира
Есть некоторые параметры, которые вы, возможно, захотите изменить в определенных мирах (по соображениям производительности).
Рассмотрите эти параметры (все в paper.yml) как вероятных кандидатов на отключение/изменение в некоторых мирах:
keep-spawn-loaded
Нужен ли вам «спавн», загруженный в каждом мире?anti-xray
Хотите ли вы выделять CPU на сокрытие руды в аду и краю?auto-save-interval
Изменение интервала между сохранениями мира может повысить производительность.Последнее редактирование: 21 мар 2022 -
Дополнение про вред команды /reload. Оригинал статьи.
Команда /reload присутствует в Bukkit с первых дней его существования. Целью было позволить владельцам серверов быстро и легко перезагружать конфигурационные файлы плагинов и сервера. Однако, чтобы облегчить задачу разработчикам плагинов, эта команда в итоге получила фатальный недостаток, который сделал ее небезопасной для использования. Это решение отличалось от предыдущих серверных платформ, таких как hMod, которые вели себя гораздо более контролируемо. Команда Bukkit решила, что команда /reload должна отключать каждый плагин, а затем пытаться включить его снова.Поскольку Java не предоставляет поддерживаемого или безопасного способа выгрузки или перезагрузки уже загруженного кода, это начало вызывать несколько тонких проблем и ошибок. Повторная загрузка в некоторых случаях вызывала конфликты между первоначальной загрузкой и загрузкой при перезагрузке. Эта проблема особенно сильно проявлялась при замене jar-файлов плагинов. Из-за этого Spigot и Paper никогда не рекомендовали использовать команду /reload. Значительное неприятие команды /reload из-за проблем, которые она вызывала, было заметно уже в 2011 году, вскоре после запуска Bukkit. С тех пор эти проблемы стали значительно хуже.
По мере развития Minecraft то, что требовало перезагрузки, становилось все сложнее, пока сама концепция перезагрузки не стала абсолютно невыполнимой. В каждом последнем обновлении команда перезагрузки вызывала новые проблемы. Сейчас никто и никогда не должен использовать команду /reload ни при каких обстоятельствах. Она вызывает значительные нестабильности в Minecraft, Bukkit, Spigot, Paper и почти всех плагинах, использующих API Bukkit. В настоящее время такое простое действие, как проверка прав доступа игрока, может вызвать проблемы после перезагрузки. Если плагин выдает ошибку после перезагрузки, это (скорее всего) не вина плагина, а симптом принципиально неработающей команды перезагрузки.
Если вам необходимо:
— Добавить новый плагин
— Обновить существующий плагин
— удалить плагин
то… ПЕРЕЗАГРУЗИ СЕРВЕР!Если вам необходимо:
— Перезагрузить конфигурацию плагина
то… Используйте команду reload, предоставляемую самим плагином, например, /cb reload перезагрузит конфигурацию CraftBook. Если у используемого вами плагина нет такой команды, попросите разработчика плагина добавить ее или перезагрузите сервер.
Если вы заменили какие-либо jar-файлы, перезагрузка сервера приведет к возникновению проблем, даже если вы этого не заметите. Команда /reload ВСЕГДА небезопасна и чревата ошибками.Замечание о PlugMan
Использование плагинов, таких как PlugMan, для включения или отключения плагинов по-прежнему проблематично. Это не только приводит к тем же проблемам, что и выше, но и нарушает ожидания, которые плагины связывают с сервером. Поскольку Bukkit не предназначен для самостоятельной загрузки плагинов, это может привести к проблемам, когда плагины находятся в недопустимом состоянии. Мало того, обычно плагины предполагают, что сервер только что запустился, когда плагин загружается, поэтому при последующем запуске плагин может работать с неверными данными.Примечание #1!
Это предупреждение не относится к команде перезагрузки Sponge. Команда Sponge /reload не делает того, что делает Bukkit, а вместо этого посылает плагинам событие, сообщающее, что была запрошена перезагрузка. После этого плагин несет ответственность за перезагрузку конфигураций.Примечание #2!
Если вы хотите использовать команду Minecraft /reload для перезагрузки датапаков на Bukkit, вы можете смело использовать /minecraft:reload.Последнее редактирование: 21 мар 2022 -
Overwrite
Активный участник
Пользователь- Баллы:
- 96
- Имя в Minecraft:
- artcart
Но purpur не форк ядра Puffrefish, а обычный форк бумаги…
Поделиться этой страницей
Привет, это хостинг Майнкрафт — Q2E.ru
| Майнкрафт server properties — как правильно настроить?
Итак друзья, server properties minecraft, один из самых основных моментов при настройке. Он включает в себя множество различных подпунктов и иногда игрокам бывает сложно понять, за что отвечает каждый из них и для чего они вообще нужны.
| Рассмотрим статью конфиг сервера майнкрафт!
Переходим к его редакции. Server.properties содержит в себе все основный настройки сервера.
version — указываете нужную версию сервера, craftbukkit или spigot.
core — если у Вас есть собственное ядро для запуска, то нужно его залить в корень FTP, затем в данной строке прописать название Вашего ядра, без расширения .jar(например ядро server.jar, то в строке core пишем просто server).
motd — здесь пишем описание сервера, которое будет отображаться при подключении, не более 64 символов.
rcon.password — пароль для удаленного доступа к серверу. Появляется автоматически, если мы указываем enable-rcon=true.
enable-rcon — указываем да/нет, по желанию. Да — разрешаем удаленный доступ к консоли сервера, нет — запрещаем.
allow-nether — указываем да/нет. Данный параметр определяет возможность перехода в «Нижний мир». Указав НЕТ, все игроки, которые будут находиться в нижнем мире, автоматически переместятся в обычный. Это не повлияет на переход в Край.
allow-flight — указываем да/нет. Данный параметр разрешает полёты по миру Майнкрафт. Этот параметр активен только в режиме Survial, оказывая эффект только если установлен нужный плагин (пример — Flight). Это не влияет на полёты в Creative.
white-list — указываем да/нет. Соответственно мы решаем включать белый список на сервере или нет. Если Вы указываете ДА, то администратору сервера нужно добавить игроков командой «white-list add ник», без кавычек. Если указываете НЕТ, то любой человек сможет войти на игровой сервер.
spawn-animals — указываем да/нет. Отвечает за появление животных. Аналог spawn-monsters, только для мирных мобов (коровы, свиньи, овцы и т.д.).
spawn-monsters — указываем да/нет. Указав ДА, в ночное время, в пещерах будут появляться враждебно настроенные мобы (скилеты, зомби), цель которых нанести вред игрокам. Указав НЕТ, мы исключим их появление.
online-mode — указываем да/нет. Этот параметр включает/выключает проверку подлинности премиум-аккаунтов пользователей, которые подключаются к данному серверу. Указав НЕТ — программа не будет проверять аккаунты игроков и на сервер смогут заходить игроки, в учетных записей которых отсутствует статус «премиум-аккаунт». Если указать ДА, то на сервер смогут войти только пользователи с премиум-аккаунтом. Отключение данной функции влечет за собой возможность входа игроков «пиратов», что не очень хорошо.
pvp — указываем да/нет. Указав ДА, мы даем возможность игрокам наносить урон друг другу, разрешаем воевать. Указав НЕТ, мы эту возможность отключаем.
difficulty — указываем сложность игры:
1) Мирный
2) Легкий
3) Нормальный
4) Сложный
Названия говорят сами за себя.
gamemode — выбираем игровой режим на сервере. Режим отдельного игрока меняется администратором командой /gamemode.
1) Survial (Выживание)
2) Creative (Творческий)
3) Adventure (Приключения)
4) Hardcore (Хардкор)
view-distance — дистанция обзора со стороны сервера. Регулирует радиус обновляемых чанков для отсылки игроку. Рекомендуем устанавливать число 8, если будут сильные лаги, то уменьшите это значение. Указать можно от 3 до 16.
level-seed — входные данные (зерно) для генератора уровня. Чтобы создался случайный мир, потребуется оставить данное поле пустым.
level-type — выбираем нужный тип генерации мира:
1) Стандартный
2) Суперплоскость
3) Большие биомы
generate-structures — указываем да/нет. Указав ДА, будут генерироваться сокровищницы, крепости, деревни. Указав НЕТ — не будут.
max-build-height — нужно указать цифру, кратную 16. Задаем максимальную высоту постройки на сервере. Выше этого уровня ломать/строить блоки будет запрещено.
texture-pack — местоположение текстур, которые сервер предложит загрузить игроку при соединении. В данном поле нужно указать имя zip-архива, находящегося в папке сервера.
level-name — указываем название папки с файлами карты, которую будет использовать сервер. Если её не окажется, сервер автоматически сгенерирует новый мир и поместит его файлы в папку с этим названием.
enable-command-block — указываем да/нет. Соответственно решаем включать ли командный блок.
spawn-protection — указываем цифру от 1 до 100. Защита территории спавна в блоках. Внутри этой области только операторы смогут устанавливать/разрушать блоки.
server-name — здесь указываем название нашего сервера.
announce-player-achievements — указываем да/нет. Отвечает за уведомление игроков при получении достижения.
resource-pack — аналогично texture-pack.
JavaVersion — указываем нужную версию Java. Последняя версия 8-ая, на которой поддерживаются все новые плагины и тд., но есть фанаты oldschool, которым необходима более старая версия Java.
После внесения изменений в основной конфиг, не забывайте сохранять изменения и перезапускать сервер.
Теперь Вы умеете настраивать основной конфиг сервера MineCraft — Server.Properties, всем спасибо за внимание!
spigot.yml — один из ключевых конфигов на сервере Minecraft, и его настройке стоит уделить особое внимание, т.к. на практике выяснено, что да же на топовом железе, но без настройки конфигов, ванильный сервер Minecraft, выдерживает максимум 20-25 слотов.
config-version: 12
settings:
debug: false # Включение/отключение дебагера
save-user-cache-on-stop-only: false # true, Если true, то пользовательский кэш не будет постоянно сохранятся на сервер
sample-count: 12 # В списке игроков показывает рандомно указанное количество игроков
bungeecord: false # Подключение мультисерверности
player-shuffle: 0 # Перемешивание игроков в очереди, важный параметр для PNP серверов
user-cache-size: 1000 # Максимальное значение игроков, хранящихся в файле usercache.json
moved-wrongly-threshold: 0.0625 # Проверка сервером на неправильное перемещение.
moved-too-quickly-multiplier: 10.0 # Проверка сервером на неправильное перемещение.
log-villager-deaths: true # Регистрация смертей жителей в деревне
timeout-time: 60 # Ожидание ответа сервера, перед отключением и перезапуском потока.
restart-on-crash: true # Автоматический перезапуск сервера в случае уничтожения потока.
restart-script: ./start.sh # Файл для перезапуска сервера.
netty-threads: 4 # Количество потоков выделеных для сервера
attribute: # Атрибуты
maxHealth: # Здоровье
max: 2048.0
movementSpeed: # Скорость
max: 2048.0
attackDamage: # Урон
max: 2048.0
messages: # Сообщения при разных событиях
whitelist: You are not whitelisted on this server!
unknown-command: Unknown command. Type "/help" for help.
server-full: The server is full!
outdated-client: Outdated client! Please use {0}
outdated-server: Outdated server! I'm still on {0}
restart: Server is restarting
commands: # Используемые комманды
log: true
tab-complete: 0
send-namespaced: true
spam-exclusions:
- /skill
silent-commandblock-console: false
replace-commands:
- setblock
- summon
- testforblock
- tellraw
advancements:
disable-saving: false # Если true, сервер не будет сохранять достижения игроков
disabled:
- minecraft:story/disabled # Список отключеных достижений
stats:
disable-saving: false # Если true, то сервер не будет сохранять статистику игроков или достижения
forced-stats: {} # Карта статистики, к которой привязана вся статистика
world-settings:
default:
verbose: true # Показывать или нет, подробный отчет в консоле
hopper-amount: 1 #
dragon-death-sound-radius: 0 # Радиус звука смерти дракона
seed-village: 10387312 # Сиды
seed-desert: 14357617 # Сиды
seed-igloo: 14357618 # Сиды
seed-jungle: 14357619 # Сиды
seed-swamp: 14357620 # Сиды
seed-monument: 10387313 # Сиды
seed-shipwreck: 165745295 # Сиды
seed-ocean: 14357621 # Сиды
seed-outpost: 165745296 # Сиды
seed-endcity: 10387313 # Сиды
seed-slime: 987234911 # Сиды
max-tnt-per-tick: 100 #
mob-spawn-range: 8 # 6, расстояние от игрока в чанках, в пределах которого появляются мобы, должно быть в пределах видимости игрока
view-distance: default # 4 или 6(лучше 6), Количество блоков, которые будут загружены вокруг каждого игрока
enable-zombie-pigmen-portal-spawns: true # Если false, то порталы нижнего мира не попрождают зомби-свинолюдей
item-despawn-rate: 6000 # Время дропа предметов, по-умолчанию 5 минут
arrow-despawn-rate: 1200 # 300, Время на обработку выпущеных стрел, чем ниже тем быстрее летит стрела
trident-despawn-rate: 1200 # Скорость исчезновения трезубца
wither-spawn-sound-radius: 0 # Радиус звука снега
end-portal-sound-radius: 0 # Радиус звука перемещения в End
hanging-tick-frequency: 100 # Интервал обновления для висящих объектов
zombie-aggressive-towards-villager: true # false, Если false, то при offline игрока, зомби не будут убивать жителей деревни
nerf-spawner-mobs: false # true, Мобы от спавнеров не имеют ИИ
max-entity-collisions: 8 # 1 или 2, Лимит сущностей на чанк
merge-radius: # Радиус в блоках, объединение блоков в единый стак
exp: 3.0 # 6, Объединение опыта
item: 2.5 # 4, Объединение однотипных блоков
growth: # Контролирует скорость роста для каждой культуры
cactus-modifier: 100
cane-modifier: 100
melon-modifier: 100
mushroom-modifier: 100
pumpkin-modifier: 100
sapling-modifier: 100
beetroot-modifier: 100
carrot-modifier: 100
potato-modifier: 100
wheat-modifier: 100
netherwart-modifier: 100
vine-modifier: 100
cocoa-modifier: 100
bamboo-modifier: 100
sweetberry-modifier: 100
kelp-modifier: 100
entity-activation-range: # Радиус в блоках активности мобов
animals: 32 # 8
monsters: 32 # 8
raiders: 48 # 12
misc: 16 # 2
water: 16 # 2
villagers: 32 # 8
flying-monsters: 32 # 8
villagers-work-immunity-after: 100 #
villagers-work-immunity-for: 20 #
villagers-active-for-panic: true #
tick-inactive-villagers: true #
wake-up-inactive: # Активация мобов в присутствии игрока
animals-max-per-tick: 4
animals-every: 1200
animals-for: 100
monsters-max-per-tick: 8
monsters-every: 400
monsters-for: 100
villagers-max-per-tick: 4
villagers-every: 600
villagers-for: 100
flying-monsters-max-per-tick: 8
flying-monsters-every: 200
flying-monsters-for: 100
entity-tracking-range: # Радиус в блоках, устанавливает видимость для игрока
players: 48 # 48
animals: 48 # 48
monsters: 48 # 48
misc: 32 # 32
other: 64 # 64
ticks-per: # Период в один тик, за который воронка произведет действие с инвентарем
hopper-transfer: 8 # 24
hopper-check: 1 # 24
hunger: # Количество очков голода, которое будет вычтено из очков игрока, при совершении им действия
jump-walk-exhaustion: 0.05
jump-sprint-exhaustion: 0.2
combat-exhaustion: 0.1
regen-exhaustion: 6.0
swim-multiplier: 0.01
sprint-multiplier: 0.1
other-multiplier: 0.0
max-tick-time: # Время в мс, которое тратится на вычисление
tile: 50 # 10-20, Вычисление неживого
entity: 50 # 20-25, Вычисление объекта
squid-spawn-range: # Диапазон спавна squid
min: 45.0
Minecraft сегодня принадлежит к числу самых популярных сетевых игр. За неполных три года (первый официальный релиз состоялся осенью 2011 года) у него появились миллионы поклонников по всему миру.
Разработчики игры сознательно ориентируются на лучшие образцы двадцатилетней давности, когда многие игры были по сегодняшним меркам примитивными с точки зрения графики и несовершенными с точки зрения юзабилити, но при этом — по-настоящему захватывали.
Как и все игры-песочницы, Minecraft предоставляет пользователю огромные возможности для творчества — в этом, собственно, и заключается главный секрет его популярности.
Организацией серверов для игры в многопользовательском режиме занимаются сами игроки и их сообщества. Сегодня в Интернете функционируют десятки тысяч игровых серверов (см., например, список здесь).
Немало поклонников этой игры есть и среди наших клиентов, и они арендуют в наших дата-центрах оборудование под игровые проекты. В этой статье мы расскажем о том, на какие технические моменты нужно обратить внимание при выборе сервера для
Minecraft.
Выбираем платформу
В состав игры Minecraft входят следующие архитектурные элементы:
- сервер — программа, с помощью которой игроки взаимодействуют друг с другом по сети;
- клиент — программа для подключения к серверу, устанавливаемая на компьютере игрока;
- плагины — дополнения к серверу, добавляющие новые функции или расширяющие старые;
- моды — дополнения к игровому миру (новые блоки, предметы, возможности).
Для Minecraft существует много серверных платформ. Самыми распространенными и популярными являются Vanilla и Bukkit.
Vanilla это официальная платформа от разрабочиков игры. Распространяется как в графическом, так и в консольном варианте. Новая версия Vanilla всегда выходит одновременно с новой версией Minecraft.
Недостатком Vanilla является чрезмерное потребление памяти (примерно 50 МБ на одного игрока). Еще один существенный недостаток — отсутствие плагинов.
Bukkit был создан группой энтузиастов, предпринявших попытку усовершенствовать официальный сервер Minecraft. Попытка оказалась вполне удачной: по функциональности Bukkit намного шире, чем Vanilla — в первую очередь благодаря поддержке разнообразных модов и плагинов. При этом он потребляет меньше памяти на каждого игрока — примерно 5–10 МБ.
Минусы Bukkit заключаются в том, что при запуске он забирает слишком много оперативной памяти. Кроме того, чем дольше сервер работает, тем больше ему требуется памяти (даже если игроков мало). Выбирая в качестве сервера Bukkit, следует учитывать, что его новые версии, как правило, содержат ошибки; стабильная версия обычно появляется примерно через 2-3 недели после выхода официальной версии Minecraft.
Кроме того, в последнее время набирают популярность и другие платформы (например, Spout, MCPC и MCPC+), но они отличаются ограниченной совместимостью с Vanilla и Bukkit и крайне ограниченной поддержкой модов (например, для Spout вообще можно только писать моды c нуля). Если их и использовать — то только для экспериментов.
Для организации игрового сервера мы рекомендуем использовать платформу Bukkit, так как она отличается наибольшей гибкостью; кроме того, под нее существует множество разнообразных модов и плагинов. Стабильная работа сервера Minecraft во многом зависит от грамотного выбора аппаратной платформы. Рассмотрим этот вопрос более подробно.
Аппаратные требования
И сервер, и клиент Mineсraft очень требовательны к системным ресурсам.
При выборе аппаратной платформы следует учитывать, что многоядерный процессор больших преимуществ не даст: ядро сервера Minecraft может использовать лишь один поток вычисления. Второе ядро, впрочем, будет нелишним: некоторые плагины выполняются в отдельных потоках, да и Java тоже потребляет немало ресурсов…
Поэтому для Minecraft-сервера лучше выбирать процессор, у которого выше производительность одного ядра. Более мощный двухядерный процессор будет более предпочтительным, чем многоядерный, но менее мощный. На специализированных форумах рекомендуется использоваться процессоры с тактовой частотой не ниже 3ГГц.
Для нормального функционирования сервера Minecraft требуется большое количество оперативной памяти. Bukkit занимает примерно 1ГБ оперативной памяти; кроме того, под каждого игрока, как уже было сказано выше, отводится от 5 до 10 МБ. Плагины и моды тоже потребляют довольно много памяти. Для сервера на 30 — 50 игроков, таким образом, потребуется не менее 4 ГБ оперативной памяти.
В Minecraft очень многое (например, загрузка тех же плагинов) зависит от скорости работы файловой системы. Поэтому предпочтительно выбирать сервер с SSD-диском. Шпиндельные диски вряд ли подойдут по причине низкой скорости случайного чтения.
Огромное значение имеет и скорость интернет-подключения. Для игры 40-50 человек вполне хватит канала 10 Мб/c. Однако тем, кто планирует более масштабный minecraft-проект, включающий сайт, форум и динамическую карту, крайне желательно иметь канал с большей пропускной способностью.
Какую конкретную конфигурацию лучше всего выбрать? Из предлагаемых нами конфигураций рекомендуем обратить внимание на следующие:
- Intel Core 2 Duo E8400 3ГГц, 6ГБ RAM, 2×500ГБ SATA, 3000 руб/мес.;
- Intel Core 2 Quad Q8300 2.5ГГц, 6ГБ RAM, 2×500ГБ SATA, 3500 руб/мес. — данную конфигурацию мы используем для нашего тестового сервера MineCraft, на которым вы прямо сейчас можете поиграть (как это сделать — написано ниже);
- Intel Core i3-2120 3.3ГГц, 8ГБ RAM, 2×500ГБ SATA, 3500 руб/мес.
Эти конфигурации вполне подойдут для создания серверa Minecraft на 30-40 игроков. Некоторым минусом является отсутствие SSD-дисков, но мы даем другое немаловажное преимущество: гарантированный канал 100 Мб/с без каких-либо ограничений и соотношений. При заказе всех перечисленных выше конфигураций установочный платеж не взимается.
Есть у нас и более производительные, но при этом, естественно, более дорогие серверы (при заказе этих конфигураций установочный платеж также не взимается):
- 2х Intel Xeon 5130, 2ГГц, 8ГБ RAM, 4×160ГБ SATA, 5000 руб/мес;
- 2х IntelXeon 5504, 2ГГц, 12ГБ RAM, 3×1ТБ SATA, 9000 руб/мес.
Рекомендуем также обратить внимание на новую бюджетную модель с SSD-диском на базе процессора Intel Atom C2758: Intel Atom C2758 2.4ГГц, 16 ГБ RAM, 2×240ГБ SSD, 4000 руб/мес., установочный платеж — 3000 руб.
Установка и запуск сервера Bukkit в OC Ubuntu
Прежде чем устанавливать сервер, создадим нового пользователя и добавим его в группу sudo:
$ sudo useradd -m -s /bin/bash <имя пользователя> $ sudo adduser <имя пользователя> sudo
Далее зададим пароль, под которым созданный пользователь будет подключаться к серверу:
$ sudo passwd <имя пользователя>
Переподключимся к серверу под новой учетной записью и приступим к установке.
Minecraft написан на Java, поэтому на сервере обязательно нужно установить Java Runtime Environment.
Обновим список доступных пакетов:
$ sudo apt-get update
Затем выполним следующую команду:
$ sudo apt-get install default-jdk
Для установки и запуска Bukkit желательно также установить терминальный мультиплексор — например, screen (можно использовать и другие терминальные мультиплексоры — см. наш обзор):
$ sudo apt-get install screen
Screen понадобится, если мы будем подключаться к игровому серверу по ssh. С его помощью можно будет запускать сервер Minecraft в отдельном окне терминала, и даже после закрытия клиента ssh сервер будет работать.
Создадим директорию, в которой будут храниться файлы сервера:
$ mkdir bukkit $ cd bukkit
После этого зайдем на страницу загрузок официального сайта Bukkit. В правой верхней части страницы можно увидеть ссылку на последнюю рекомендованную к использованию cборку сервера (recommended build). Советуем скачивать именно ее:
$ wget <ссылка на рекомендованную версию>
Теперь запустим screen:
$ sudo screen
и выполним следующую команду:
$ java -Xmx1024M -jar craftbukkit.jar -o false
Поясним, что означают используемые параметры:
- Xmx1024M — максимальное количество оперативной памяти на сервер;
- jar craftbukkit.jar — ключ до сервера;
- o false — разрешает доступ к серверу с пиратских клиентов.
Сервер будет запущен.
Остановить сервер можно, набрав в консоли команду stop.
Настройка и конфигурирование сервера
Настройки сервера хранятся в конфигурационном файле server.properties. Он содержит следующие параметры:
- generator-settings — задает шаблон генерации суперплоского мира;
- allow-nether — определяет возможность перехода в Нижний мир. По умолчанию для этого параметра установлено значение true. Если установлено значение false, то все игроки из Нижнего мира будут перемещены в обычный;
- level-name — имя папки с файлами карты, которая будет использоваться во время игры. Папка размещается в той же директории, где находятся файлы сервера. Если такой директории нет, сервер автоматически создает новый мир и помещает его в директорию с таким же именем;
- enable-query — при установленном значении true активирует протокол GameSpy4 для прослушивания сервера;
- allow-flight — разрешает полеты по миру Minecraft. По умолчанию имеет значение false (полеты запрещены);
- server-port — указывает порт, который будет использоваться сервервом игры. Стандартный порт для Minecraft — 25565. Значение этого параметра изменять не рекомендуется;
- level-type — определяет тип мира (DEFAUT/FLAT/LARGEBIOMES);
- enable-rcon — открывает удаленный доступ к консоли сервера. По умолчанию он отключен (false);
- level-seed — входные данные для генератора уровней. Чтобы иметь возможность создавать случайные миры, это поле нужно оставить пустым;
- force-gamemode — уставливает для игроков, подключающихся к серверу, стандартный режим игры;
- server-ip — указывает IP-адрес, который будет использоваться игроками для подключения к серверу;
- max-build-height — указывает максимальную высоту постройки на сервере. Его значение должно представлять собой число, кратное 16 (64, 96, 256 и т.п.);
- spawn-npcs — разрешает (если установлено значение true) или запрещает (если установлено значение false) появление NPС в деревнях;
- white-list — включает и отключает использование белого списка игроков на сервере. Если установлено значение true, то администратор сможет формировать белый список, добавляя в него ники игроков вручную. Если же установлено значение false, то на сервер может заходить любой пользователь, знающий его IP-адрес и порт;
- spawn-animals — разрешает автоматическое появление дружелюбных мобов, если установлено значение true);
- snooper-enabled — разрешает серверу отправлять статистику и данные разработчикам;
- hardcore — включает на сервере режим Хардкор;
- texture-pac — файл текстур, который будет использоваться при подключении игрока к серверу. В качестве значения этого параметра указывается имя zip-архива с текстурами, который хранится в той же директории, что и сервер;
- online-mode — включает проверку премиум-аккаунтов пользователей, подключающихся к серверу. Если для этого параметра установлено значение true, но на сервер смогут заходить только владельцы премиум-аккаунтов. Если проверка аккаунтов отключена (установлено значение false), то на сервер могут заходить любые пользователи (в том числе, например, и игроки, подделавшие ник), что создает дополнительные риски безопасности. При отключенной проверке можно играть в Minecraft по локальной сети, без доступа к Интернету;
- pvp — разрешает или запрещает игрокам воевать друг с другом. Если этот параметр имеет значение true, то игроки могут уничтожать друг друга. Если установлено значение false, то игроки не могут наносить друг другу прямой урон;
- difficulty — задает уровень сложности игры. Может принимать значения от 0 (самый легкий) до 3 (самый сложный);
- gamemode — указывает, какой игровой режим будет установлен для заходящих на сервер игроков. Может принимать следующие значения: 0 — Survival, 1-Creative, 2-Adventure;
- player-idle-timeout — время бездействия (в минутах), по истечении которого игроки автоматически отключаются от сервера;
- max-players — максимальное допустимое количество игроков на сервере (от 0 до 999);
- spawn-monsters — разрешает (если установлено значение true) порождение враждебных мобов;
- generate-structures — включает (true)/отключает (false) генерацию структур (сокровищницы, крепости, деревни);
- view-distance — регулирует радиус обновляемых чанков для отсылки игроку; может принимать значения от 3 до 15.
Логи сервера minecraft записываются в файл server.log. Он хранится в той же папке, что и файлы сервера. Лог постоянно увеличивается в размере, забирая все больше и больше дискового пространства. Упорядочить работу механизма логирования можно с помошью так называемой ротации логов. Для ротации используется специальная утилита — logrotate. Она ограничивает число записей в логе определенным пределом.
Можно настроить ротацию логов так, что все записи будут удаляться, как только файл лога достигнет определенного размера. Можно также установить срок, по истечении которого все старые записи будут признаны неактуальными и удалены.
Основные настройки ротации находятся в файле /etc/logrotate.conf; кроме того, для каждого приложения можно создавать индивидуальные настройки. Файлы с индивидуальными настройками хранятся в директории /etc/logrotate.d.
Создадим текстовый файл /etc/logrotate.d/craftbukkit и впишем в него следующие параметры:
/home/craftbukkit/server.log {
rotate 2
weekly
compress
missingok
notifempty
}
Рассмотрим их значения более подробно:
- параметр rotate указывает число ротаций до удаления файла;
- weekly указывает, что ротация будет производиться еженедельно (можно установить и другие параметры: monthly — ежемесячно и daily — ежедневно);
- compress указывает, что архивные логи нужно сжимать (обратная опция — nocompress);
- missingok указывает, что при отсутствии файла лога нужно продолжать работу и не выводить сообщения об ошибке;
- notifempty указывает не сдвигать файл лога, если он пуст.
Более подробно о настройках ротации логов можно прочитать здесь.
Советы по оптимизации
Сразу же оговоримся, что в этом разделе будут приведены советы, касающиеся только оптимизации игрового сервера. Вопросы тонкой настройки и оптимизации сервера, на котором установлен Mineсraft, представляют собой отдельную тему, выходящую за рамки этой статьи; заинтересованные читатели без труда смогут найти нужную информацию в Интернете.
Одной из самых распространенных проблем, возникающих при игре в Minecraft, являются так называемые лаги — ситуации, когда программа вовремя не реагирует на пользовательский ввод. Они могут быть обусловены проблемами как на стороне клиента, так и на стороне сервера. Ниже мы дадим рекомендации, которые помогут снизить вероятность возникновения проблем на серверной стороне.
Регулярно контролируйте расход памяти сервером и плагинами
Потребление памяти можно отслеживать при помощи специализированных административных плагинов — например, LagMeter.
Следите за обновлениями плагинов
Как правило, разработчики новых плагинов с каждой новой версией стремятся снизить нагрузку.
Старайтесь не пользоваться множеством плагинов со сходной функциональностью
Большие плагины (например, Essentials, AdminCMD, CommandBook) очень часто включают в себя функциональность многих мелких плагинов. Например, тот же Essential содержит функции плагинов iConomy, uHome, OpenInv, VanishNoPacket, Kit. Мелкие плагины, функциональность которых полностью покрывается функциональностью одного большого, в большинстве случаев можно удалить, чтобы не перегружать сервер.
Ограничивайте карту и прогружайте ее самостоятельно
Если не ограничивать карту, то нагрузка на сервер существенно увеличится. Ограничить карту можно при помощи плагина WorldBorder. Для этого нужно запустить этот плагин и выполнить команду /wb 200, а затем прорисовать карту при помощи команды /wb fill.
Прорисовка, конечно, займет немало времени, но лучше это сделать один раз, закрыв сервер на технические работы. Если карту будет прорисовывать каждый игрок — сервер будет работать медленно.
Замените тяжеловесные плагины на более быстрые и менее ресурсоемкие
Далеко не все плагины для Minecraft можно назвать удачными: часто они содержат много лишних и ненужных функций, а иногда еще и потребляют много памяти. Неудачные плагины лучше заменять на альтернативные (их существует довольно много). Например, плагин LWC можно заменить на Wgfix+MachineGuard, а плагин DynMap — на Minecraft Overviewer.
Всегда очищайте дроп или установите плагин для автоматического удаления дропа
Дропом в играх называются предметы, выпадающие при смерти моба или разрушении некоторых блоков. Хранение и обработка дропов занимают очень много системных ресурсов.
Чтобы сервер работал быстрее, дроп желательно удалять. Это лучше делать при помощи специальных плагинов — например, NoLagg или McClean.
Не используйте античиты
На игровых серверах часто устанавливаются так называемые античиты — программы, которые блокируют попытки воздействовать на игру нечестными способами.
Существуют античиты и для Minecraft. Любой античит — это всегда дополнительная нагрузка на сервер. Предпочтительнее устанавливать защиты для лаунчера (которые, впрочем, абсолютной гарантии безопасности не дают и легко ломаются — но этой уже тема для отдельного разговора) и для клиента.
Вместо заключения
Любые инструкции и рекомендации оказываются гораздо более эффективными, если они подкреплены конкретными примерами. Основываясь на приведенных выше инструкциях по установке, мы создали свой сервер MineCrаft и поместили на карту кое-что интересное.
Вот что у нас получилось:
- Сервер Bukkit — стабильная рекомендованная версия 1.6.4;
- Плагин Statistics — чтобы собирать статистику об игроках;
- Плагин WorldBorder — чтобы прорисовать и ограничить карту;
- Плагин WorldGuard (+WorldEdit как зависимость) — чтобы защитить некоторые области.
Приглашаем всех желающих поиграть на нем: чтобы подключиться, добавьте новый сервер и укажите адрес
mncrft.slc.tl
.
Будем рады, если в комментариях вы поделитесь собственным опытом установки, настройки и оптимизации серверов MineCraft и расскажете, какие моды и плагины вам интересны и почему.
Классная новость: С 1 августа установочный платеж на выделенные серверы фиксированной конфигурации снижен на 50%. Теперь разовый установочный платеж составляет всего 3000 руб.
Читателей, которые не могут оставлять комментарии здесь, приглашаем к нам в блог.





