Как сервер сделать тихим

Добавил пользователь Валентин П.
Обновлено: 05.10.2024

Spigot / Paper предлагает настройки, которые значительно улучшают производительность сервера Майнкрафт. В этом руководству представлены предлагаемые значения, позволяющие получить максимальную отдачу от вашего сервера без ущерба для игрового процесса.

Предварительная генерация карты

Предварительная генерация карты имеет большое влияние на устранение лагов на сервере Майнкрафт. Обязательно сделайте это на своем сервере.

  1. Установите плагин WorldBorder
  2. Поставьте разумное ограничение по размерам карты
  3. Пропишите команду: /wb fill
  4. Подождите… это может занять вплоть до нескольких часов в зависимости от размера карты. В идеале это нужно делать до того, как карта будет запущена, так как это вызовет задержку.
  5. Оставьте ограничение мира, чтобы чанки больше никогда не создавались (тогда вся карта будет сразу прогружена и не будет лагов из-за прогрузки чанков).

Bukkit.yml

spawn-limits
По умолчанию: monsters: 70, animals: 10, water-animals: 15, water-ambient: 20, ambient: 15
Оптимизировано: monsters: 50, animals: 8, water-animals: 7, water-ambient: 10, ambient: 1
Влияние на производительность: Большое

chunk-gc.period-in-ticks
По умолчанию: 600
Оптимизировано: 400
Влияние на производительность: Среднее

➫ Позволяет быстрее выгружать свободные чанки. Чем меньше тиков, тем выше будет показатель TPS, про который вы можете прочитать в конце этой статьи.

ticks-per.(type)-spawns
По умолчанию: monsters:1, water:1, water-ambient:1, ambient:1
Оптимизировано: monsters:5, water:11, water-ambient:21, ambient:31
Влияние на производительность: Среднее

➫ Этот параметр устанавливает, как часто (в тиках) сервер пытается породить сущности. Увеличение времени между попытками спавна не должно повлиять на игровой процесс. Смещение частоты тиков больше распределяет их по времени.

Примечание: Увеличивайте значение только в том случае, если у вас значительные потери тиков при выполнении задачи mobSpawn.

Spigot.yml

save-user-cache-on-stop-only
По умолчанию: false
Оптимизировано: true
Влияние на производительность: Среднее

➫ Этот параметр отвечает за то, нужно ли серверу всегда хранить пользовательские данные (false) или отложить эту функцию до того момента, как сервер начнет перезапуск или выключится (true)? Это хорошая экономия TPS.

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

entity-activation-range
По умолчанию: animals:32, monsters:32, raiders: 48, misc:16
Оптимизировано: animals:16, monsters:24, raiders: 48, misc:8
Влияние на производительность: Среднее

➫ Существа за пределами этого диапазона будут отмечаться реже. Не устанавливайте слишком низкое значение, иначе вы можете нарушить поведение мобов (аггро, рейды и т.д.).

Примечание: Деревенских жителей следует оставлять в покое (если это возможно), чтобы защитить механику.

tick-inactive-villagers
По умолчанию: true
Оптимизировано: false
Влияние на производительность: Среднее

➫ Включение этого параметра предотвращает установку галочки для жителей за пределами диапазона активации.

Примечание: Ванильное поведение позволяет отмечать всех жителей в загруженных чанках. Включите опцию villagers-active-for-panic, чтобы спасти некоторые железные фермы от разрушения.

nerf-spawner-mobs
По умолчанию: false
Оптимизировано: true
Влияние на производительность: Среднее

➫ Когда включено, мобы из спавнеров не будут иметь ИИ (не будут плавать/атаковать/двигаться). Это большая экономия TPS для массивных ферм мобов, но также ухудшает поведение. Плагин ограничителя фермы может быть лучшим решением.

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

Paper.yml

max-auto-save-chunks-per-tick
По умолчанию: 24
Оптимизировано: 6
Влияние на производительность: Большое

➫ Сохранение мира будет происходить с замедлением сохранения чанков. Очень важная функция для современных серверов Майнкрафт.

Примечание: Ниже 6 ставить не рекомендуется, есть возможность несохранения чанков!

max-entity-collisions (в Spigot.yml в некоторых сборках)
По умолчанию: 8
Оптимизировано: 2
Влияние на производительность: Среднее

➫ Зажатые объекты (кофемолки, фермы и т.д.) будут меньше сталкиваться и потреблять меньше TPS в процессе.

grass-spread-tick-rate
По умолчанию: 1
Оптимизировано: 4
Влияние на производительность: Среднее

➫ Время (в тиках) до того, как сервер попытается разбросать траву по частям. Это не окажет влияния на геймплей большинства типов игр.

hopper.disable-move-event
По умолчанию: false
Оптимизировано: true
Влияние на производительность: Большое

➫ Это значительно уменьшит отставание хоппера, поскольку предотвратит вызов InventoryMoveItemEvent для КАЖДОГО слота в контейнере.

Предупреждение: Плагины, которые прослушивают InventoryMoveItemEvent, будут сломаны.

prevent-moving-into-unloaded-chunks
По умолчанию: false
Оптимизировано: true
Влияние на производительность: Среднее

➫ Предотвращает попадание игроков в неактивный чанк. Такое происходит из-за лагов и может вызвать еще большие лаги.

use-faster-eigencraft-redstone
По умолчанию: false
Оптимизировано: true
Влияние на производительность: Большое

➫ Эта настройка сокращает анимацию и обновления работы редстоуна на 95%, при этом не ломая механизмы. Тестирование данной функции установило ускорение в 10 раз!

Server.properties

view-distance
По умолчанию: 10
Оптимизировано: 4-8
Влияние на производительность: Сильное

➫ Это самый важный параметр во всех ваших файлах, поскольку он ограничивает расстояние рендеринга чанков. Серверы с открытым миром (например, Survival) должны стремиться использовать значение 6+, но другие серверы с общим хостом, низкими характеристиками или большим количеством игроков могут использовать значение 4-5, если рендеринг чанков вызывает лаги.

TPS — отставания сервера

Для сервера показатель TPS является очень важным и самое максимальное значение TPS равно 20, именно с этой скоростью он и выполняет все задачи. Например, поведение мобов, скорость роста урожая, добыча блоков и многое другое. Чем ниже будет падать TPS сервера, тем больше зависаний будет на сервере. Блоки будут выпадать с задержкой, мобы будут зависать и все в этом духе. Если TPS упадет слишком низко, это может привести даже к краху всего сервера.

Значения TPS

20.0 = Супер — Ваш сервер в идеальном состоянии.
19.95 — 19.99 = Хорошо — Небольшие потери TPS. Почти не влияют на работу сервера.
18.5 — 19.94 = Играбельно — Есть некоторые подвисания, но особо не напрягают.
16.0 — 18.4 = Плохо — Достаточно частые подвисания, нужно искать проблемы в сервере.
= Можете сразу создавать новый сервер…

Ping — задержка подключения

Пинг показывает, количество времени (в миллисекундах) требуемое для обработки данных игрока на сервере. Чем дальше игрок географически находится от сервера, тем дольше будет доходить данные и тем больше будет пинг. Как владелец сервера вы должны разместить свой сервер в регионе, где вы предпочитаете иметь свою базу игроков, или в регионе, который находится на близком расстоянии ко всей вашей аудитории.

Пример: Если взять хостинг с датацентром в США, а ваши игроки будут из России или других стран СНГ, тогда у всех игроков будет очень высокий пинг и у них будут задержки. Опять же если ваши игроки из России, необязательно покупать хостинг с датацентром в России, можно брать в Германии, Франции. Там достаточно играбельный пинг и многие проекты держат там сервера.

Показатели пинга

1 — 90 = Супер!
91 — 179 = Хорошо — Могут быть неудобства во время PvP.
180 — 299 = Плохо — Постоянные зависания во время взаимодействия с блоками/игроками/мобами.
300 — 499 = Ужасно — Почти нереально играть.
500+ = Пора искать сервер поближе к вам.

В этой статье хочу рассказать об истории моего выбора идеального, на мой взгляд, железа для типично домашних задач домашнего сервера.

Сколько статей написано о домашних серверах, сколько комментариев. Расскажу вам свою историю, если интересно, проходите, присаживайтесь. Фото в статье не мои, тут это не особо важно. Скриншот с аптаймом мой.

реклама

Кто - то строит домашний сервер на базе старого ПК, кто-то покупает специализированные решения типа NAS, кто-то городит все на роутере с внешним жестким диском. Я прошел почти через все это.

Ноутбук Asus s5000 — купить в Красноярске. Состояние: Б/у (полностью исправно). Ноутбуки на интернет-аукционе Au.ru

На дворе 2009 год. Microsoft выпускает, ставшую народной, Windows 7, появляются первые кириллические домены, появились первые USB3.0 устройства в продаже, во всем мире бум нетбуков и электронных книг. Попался мне старый, списанный с работы, но бодрый ноутбук Asus S5000, без батареи и с мертвой клавиатурой.

На борту Pentium M 1.7 Ghz и 512 Мб DDR1 в редком форм-факторе uSO-DIMM. Купил в него тогда максимально емкий IDE жесткий диск - на 320 гб. Времена DC++ сетей уже заканчивались, скорость широкополосного интернета росла, а цена падала. Популярнее становились торрент-трекеры. Настроил на этой машинке автоматическую скачку новых серий сериалов с Лостфильма, папку расшарил в домашнюю сеть. Сначала настроил все на Windows, лицензия XP позволяла это сделать без угрызений совести. Потом был Debian Linux, эксперименты с Gentoo, Freebsd и, наконец, Freenas (Nas4Free не было еще тогда). Время шло, запросы менялись, понадобился медиасервер - им, на долгое время стал, и сейчас остается Serviio.

реклама

TS-410 | QNAP

2011 год. У меня стадия отрицания и желание переехать на специализированную железку. Ноутбук был выключен и закинут на полку, а взамен была куплена коробочка от Qnap (TS-410) на 4 диска с 256 Мб оперативной памяти и жутко тормозным ARM процессором. Диски специально брал зеленые WD на 5200 оборотов. Красные тогда еще не появились в продаже. Для уменьшения вибраций, NAS был установлен на небольшом вспененном коврике. До покупки этой штуки представить себе не мог, что буду чем-то недоволен. Медленная работа этой штуки, ограниченность в функциональности и появившаяся вскоре необходимость в телефонии с шифрованием, вынудили меня, в дополнение к этому гробу, купить малинку, еще первую, она только вышла тогда. С малинкой все было замечательно - телефония была на ней, остальное на NAS. Разве что веб интерфейс с трудом шевелился на обоих устройствах. Вопрос с производительностью надо было решать. NAS был продан, доволен был, как слон, что купили эту штуку у меня.

На замену ему купил HP Microserver Gen 8 - самую минимальную конфигурацию - с 2 Гб оперативной памяти и на Celeron. Да, не густо, но была возможность расширения дальнейшего апгрейда: хочешь Xeon - поставь и памяти побольше, хочешь - отдельный аппаратный рейд контроллер. Впрочем, поддержку виртуализации завезли, производительности мне хватило и так, поставил SSD, на него ESXi и понеслась. Аккуратная коробочка на 4 диска, софтовый рейд и небольшой уровень шума при некоторых ухищрениях.

реклама

Казалось бы, какие могут быть проблемы с этой сборкой? Сделано подобное железо очень хорошо, т.к. нацелено на малый бизнес и долгую работу без выключений.

Проблема первая - я кошатник, а значит любой компьютер, имеющий вентиляторы непременно, со временем, как ни убирайся и не пылесось, сам становится пылесосом. И вторая - с электропитанием в у меня, тогда еще в хрущевке, бывали перебои. С первой проблемой разобраться можно только на время - чистить периодически, а значит выключать. Но аптайм же! Хочется большой аптайм, не спрашивайте зачем. Со второй проще - я поставил все сетевое оборудование под защиту б.у. APC CS 500. Батарейку разве что купил новую, специально выбрал с защитой от возгорания. Работало все это благополучно длительное время, периодически спасая аптайм. Но, как-то раз, вечером, все пошло не по плану - свет выключили во всем районе, была какая-то авария. С удовлетворением наблюдая на экране телефона, свою единственную оставшуюся в живых WIFI сеть, я заметил странных запах - из хваленого фирменного APC, пусть и б.у., шел дымок. И ладно я дома был, а если бы это днем произошло? Срочно все было выключено, из ИБП была вынута батарея, больше я его не включал. Надо было думать, что делать дальше - новый (даже действительно новый) бесперебойник я покупать не хотел - APC нужный по характеристикам стоил невменяемых денег, Powerman и прочее брать не хотелось по понятным причинам. Microserver был благополучно продан даже с выгодой и вместе с половиной дисков.

Что же сделать, чтобы решить все проблемы и остаться довольным железом? Ну, хоть часть проблем? Я принял решение купить для начала с али алюминиевый мини пк с пассивным охлаждением на Celeron 3965U на DDR3 памяти (она у меня была). Ведь если нет вентиляторов, они не будут забиваться, логично? Но пока он ко мне ехал, подвернулся лучше вариант, который закрывал обе проблемы - ноутбук HP 250 G4 на Celeron N3050 практически бесплатно - он также был списан с работы по причине диких тормозов в Windows 10 :D

Десятка мне там точно не была нужна, как и любой графический GUI вообще - я туда ESXi поставил, предварительно собрав образ со всеми необходимыми драйверами.

реклама

HP 250 G4 Core i3 5005U, 4Gb, 500Gb, AMD Radeon R5 M330 2Gb, 15.6

Что мы имеем - ноутбук с полностью пассивным охлаждением, а значит, пыли внутри будет минимум и обслуживать его не надо вообще - максимум пыль с крышки стереть. Ноутбук свежий, хоть и б.у., а значит, батарея жива и показывает неплохие результаты - не менее 2-3 часов работы (решение второй проблемы - с резервным питанием). С энергопотреблением все хорошо, так что, аппарат не греется толком, TDP процессора всего 6W.

Стандартно - взял 2 диска на 1 Tb, один в штатное место, второй через переходник в слот для DVD-ROM, установил максимум оперативной памяти (это, увы, всего 8 Гб). Главный, и единственный минус - 100 Мбит сетевая карта, хотя в старших моделях линейки ставят гигабит. Виртуалки крутятся, пропускной способности сетевой карты хватает. Сервер почти не слышно, даже ночью, даже, если прислушиваться.

За почти два с половиной года работы выключался всего пару раз. Первый - снова авария на подстанции, полдня не было света в этот раз. Успел снять скриншот с годом аптайма виртуалки незадолго до этого.


И второй раз недавно выключил, для переезда на новую жилплощадь. Заодно один из дисков поменял на SSD, давно хотел. Для моих потребностей хватало медленных hdd, но цены на tb ssd уже давно не кусаются, пусть побыстрее будет и еще тише. Если вы до этого думали, что производители делают бюджетные ноуты на пассивном охлаждении только для гарантированных страданий пользователей, вот вам пища для размышлений, что можно соорудить из такой машинки.

История сделала у меня круг, и я от ноутбука вернулся к ноутбуку, о чем не жалею.

Подпишитесь на наш канал в Яндекс.Дзен или telegram-канал @overclockers_news - это удобные способы следить за новыми материалами на сайте. С картинками, расширенными описаниями и без рекламы.

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


Создаем домашний сервер: теория и основы

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

Зачем нужен домашний сервер

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


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

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

Сервер также можно использовать для резервного копирования данных с ваших устройств. Здесь важно, чтобы объемы хранилища были рассчитаны с запасом, и на дисках помещалась информация со всех ваших домашних устройств.

Какие характеристики важны

Если же мы говорим о характеристиках сервера, можно выделить две критически важных: объем хранилища и уровень шума. С хранилищем все понятно: его не бывает слишком много, от объемов дисков зависит, какое количество контента, файлов, документов и вообще данных вы сможете там разместить. Чем больше места, тем больше резервных копий вы сможете там хранить и тем выше качество фильмов и музыки вы себе позволите.

Второе — шум. Сервер — это не компьютер, который вы включаете по необходимости. Сервер — устройство, которое работает круглые сутки и, как правило, находится в жилом помещении. Поэтому от шума, который издает машина, напрямую зависит комфорт вашей жизни. Идеальным решением будет сервер с пассивным, а не с вентиляторным охлаждением и с крепким и массивным корпусом, который не будет передавать вибрации от работы жестких дисков. Если перейти на пассивное охлаждение невозможно, имеет смысл обновить вентиляторы, установив современные тихие и производительные модели.

Среди менее важных характеристик назовем энергопотребление: сегодня практически не производятся компьютеры, которые способны серьезно отразиться на счете за электричество в конце месяца. Аппетиты современных машин скромны, поэтому блока питания на 300 Вт будет вполне достаточно.

Какими бывают домашние серверы

Теперь несколько слов о том, какими бывают домашние серверы. Во-первых, вы можете приобрести микрокомпьютер на ARM-архитектуре. При понятных плюсах (невысокая цена, компактность, низкое потребление энергии) есть и весомые минусы: такие компьютеры обычно имеют низкую производительность, да и распространенность ARM-архитектуры пока не позволяет считать это решение удобным.

Как создать файловый сервер на шесть HDD на основе старого компьютера

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

Современный жесткий диск потребляет около пяти ватт при обычной работе и до 10-15 ватт при старте. И вот, когда количество жестких дисков у меня достигло восьми штук, я понял что нужно собирать для них отдельный файловый сервер.

Для чего нужен файловый сервер

Читатель может задаться вопросом — а что же я храню на таком количестве жестких дисков? В основном домашний фото- и видеоархив с дублированием, огромную коллекцию аудиокниг, бэкапы и разную файловую ерунду, которая есть на каждом компьютере.

Конечно, можно поставить парочку больших жестких дисков на 6-8 терабайт в компьютер или NAS для этих же целей, и это будет компактно, энергоэффективно, но и цена такого решения будет намного выше.



Сразу уточню, почему я называю его "файловый сервер", а не "самосборный NAS". Я собираюсь пока использовать его в виде локальной сети между двумя системниками без выхода в домашнюю сеть и интернет, поэтому называть его NAS пока рановато.

В будущем доукомплектую его уже имеющейся Wi-Fi платой и буду экспериментировать и настраивать, а пока мне хватит простого файлового сервера.

Требования к серверу

Требования будут довольны серьезны:

  • Установка 6-8 жестких дисков
  • Соединение с основным компьютером по гигабитной сети
  • Умеренный уровень шума
  • Комфортные температуры для жестких дисков
  • Возможность функционирования только с подключенными кабелями LAN и питания (без клавиатуры, мыши и монитора)
  • Полное удаленное управление

Реализация

Сразу скажу, что не все пункты удалось выполнить, но в целом задумка удалась. Но обо всем по порядку.

Корпус Asus TA-668 довольно простой и устаревший, но сделан качественно, весь металл завальцован по краям, а многочисленные штамповки дают прочность. Штатно можно установить четыре внутренних устройства 3.5" и одно внешнее.

Плохо то, что пространства для кабель менеджмента практически нет и пучок проводов придется оставлять болтающимся в центре корпуса, что будет выглядеть очень неприглядно.


Размещение жестких дисков

Сначала я думал, что один из жестких дисков можно будет установить во внешний отсек для FDD, но это не удалось, диск не влез. Зато очень много места в отсеках 5.25", чем я и воспользуюсь.

На скорую руку я собрал салазки из старого dvd-привода и корзины для жестких дисков от старенького корпуса, которые позволят установить пару HDD в отсек для DVD-приводов.


Спереди крепится вентилятор 92 мм.


Кстати, подобные салазки продаются в магазинах, их необязательно "колхозить" самому.

Итого, я смогу установить как минимум шесть жестких дисков. Еще остается много свободного места внизу-сзади корпуса, туда можно дополнительно установить пару жестких дисков в салазках, ведь дискретной видеокарты не будет, так как мне хватит пока и встроенной GeForce 8200.

Но я "уперся" в провода блока питания. У Corsair VS550 всего четыре SATA разъема, причем два из них расположены на ветках с двумя разъмами molex, что крайне неудобно в моем случае.

Как выход, можно использовать переходники питания molex-SATA, но не всегда у них бывает хороший и надежный контакт. Используя такие переходники, сразу поджимайте контакты питания поплотнее (иголкой) и выбирайте такие, где провода не слишком длиннные.

Идеально было бы сделать "кастомные" провода с четырьмя разъемами питания SATA на один провод, припаявшись к проводам molex, но я не рискнул пускать "под нож" блок питания, не опробовав предварительно в работе файловый сервер.

При попытке установить семь жестких дисков вот таким способом, я понял, что хоть работать это и будет, но подключать и отключать диски и кабели передачи данных SATA будет просто мучительно. Да и такая "вязанка проводов" вполне может сработать как пружина и нарушить и без того слабый контакт в "data" SATA разъемах.


В результате я остановился на шести накопителях, но в будущем возможно спаяю нормальные провода, достану корзину для жестких дисков от старого корпуса, и будет возможно установить в сервер и семь-восемь HDD.

Проблема дисков объемом более 2 ТБ и старых материнских плат

Кстати, на материнской плате есть пять SATA разъемов и один eSATA, но у меня есть дискретный PCI-E контроллер на два SATA устройства, что позволит не тянуть провод в eSATA порт на задней панели компьютера.

При сборке я воткнул пару своих дисков на три терабайта в материнскую плату, и она правильно опознала (на первый взгляд) жесткие диски и запустилась. Однако я совсем забыл о проблеме дисков объемом более 2 ТБ и старых материнских плат.

К счастью, мой сторонний контроллер поддерживал диски объемом 3 ТБ и выше, и при подключении больших дисков к нему, "проверка диска" из под Windows исправила все ошибки и вернула файлы на место.

Помните об это проблеме и будьте осторожны! При покупке сторонних контроллеров уточняйте поддержку больших жестких дисков.


Я покупал свой контроллер пару лет назад, сейчас в DNS по Москве доступен вот такой, подороже.

Гигабитная сеть

Почему я сразу отказался от подключения файлового сервера в домашнюю сеть и интернет со скоростью в 100 мегабит, а подключил его в локальную сеть с основным компьютером на 1 гигабит? Все дело в объемах данных, которые придется гонять между компьютером и сервером.

100-мегабитная сеть даст в идеале всего около 12 мегабайт в секунду, что очень мало для видеофайлов на несколько гигабайт. А вот гигабитная сеть даст уже почти 120 Мб/сек, что близко к скорости копирования между дисками.

Реализовать ее очень просто, достаточно соединить порты сетевых плат на компьютерах, они давно гигабитные даже на дешевых материнских платах. А в компьютер, которому нужен будет обычный доступ в интернет, вставляем недорогую сетевую плату. Главное, учитывайте, что разъем PCI уже отмирает, и в новых материнских платах его уже попросту нет. Поэтому лучше берите сетевую плату PCI-E.

Выбор операционной системы для сервера

Тут есть простор для выбора, можно поставить и одну из многочисленных версий Linux, даже просто на флешку, чтобы не занимать SATA порт на материнской плате отдельным накопителем. Можно установить специальную ОС для NAS, например EasyNAS или FreeNAS.

Но я выбрал старый добрый Windows 7 для простоты настройки, и так как этот компьютер будет иногда использоваться как медиапроигрыватель для фильмов и видео и запускать шахматы, Heroes of Might and Magic III и прочие старые игры. Так как выхода в интернет не будет, ОС я поставил без обновлений и антивирусов.


Теперь о том, где же эта Windows 7 будет установлена. Как вариант, можно установить ее на один из HDD с данными, в отдельный раздел, и это будет работоспособно (я проверял).

Но я решил установить ее на отдельный диск, "гулять так гулять", плюс ничто не будет тормозить работу сервера. Я нашел под нее старенький HDD на 250 ГБ. Хватит и самого дешевого SATA диска на 80 ГБ, которые продаются на барахолках за 100-200 рублей.

Проблемы при сборке

Файлсервер я сразу начал настраивать на как можно более тихую работу и поставил вентиляторы на вдув и выдув на обороты менее 1000 в минуту, но столкнулся с сильным перегревом южного моста материнской платы (MCP). Даже в простое температура уходила за 60 градусов.


А на MCP температура сразу упала на 20 градусов даже под стресс тестом.


И самый шумный из вентиляторов я дополнительно "придушил" переменным резистором от Zalman.


Также я дополнительно поставил тихоходный 120 мм кулер на обдув четырех нижних дисков. Шума он не прибавит, а несколько градусов сбивает. Воздух этот кулер будет брать из перфорации на боковой стенке.


Температурный режим жестких дисков

Температура всех HDD порадовала, даже тех, что обдуваются одним вентилятором 92 мм сверху. За счет чего такие низкие температуры? Во-первых, при таком расположении жестких дисков — вдоль, между стенок корпуса, без отдельных корзин под каждый диск, создается эффект "аэродинамической трубы" — воздух легко и быстро проходит вдоль всей поверхности диска, не распыляясь об корзину или не уходя вбок.


Во-вторых, ход воздуха в корпусе идет эффективно, снизу вверх и без застойных зон, боковой вентилятор на 120 мм и вентилятор на чипсете очень помогают.

Я использовал эти же жесткие диски в корпусе Zalman, где они стояли поперечно, в корзинах, и при такой же температуре в комнате (26 градусов) их температуры были на 3-6 градусов выше.

Функционирование без клавиатуры, мыши и монитора

Я поставил файловый сервер в нишу "горки", за телевизором 43", где его не видно и практически не слышно, подведя к нему кабель питания и LAN кабель.

В биосе я настроил параметр Restore on ac power loss как Power On. Теперь компьютер включается автоматически при появлении электричества в розетке. Я щелкаю кнопкой сетевого фильтра 220 В, и он включается. О выключении напишу ниже.

Сначала я думал, что придется настроить в BIOS и поведение ПК при отсутствии клавиатуры, но он запускается и без нее, лишь давая один дополнительный сигнал через PC Speaker.
Теперь при включении через минуту в сетевом окружении появляется сервер и его диски.


При копировании скорости немного не дотягивают до 120 Мб/сек, но вполне меня устраивают.


Удаленное управление

Удаленное управление удалось организовать очень просто, средствами Windows, включив в настройках сервера "Разрешение подключения удаленного помощника".

Теперь по щелчку значка сервера в папке "Сеть" появляется пункт "Подключение к удаленному рабочему столу". И при выборе этого пункта мы через 10 секунд оказываемся на рабочем столе сервера, полностью управляя им.




Удаленное выключение

Как оказалось, сервер невозможно выключить через меню "Пуск" при удаленном управлении, в меню просто отсутствуют пункты "перезагрузить" и "выключить", но эта проблема легко решается созданием ярлыка на рабочем столе сервера, с прописанным путем:

C:\Windows\System32\shutdown.exe -s -t 00

Этот ярлык теперь работает как кнопка выключения.


Выводы

Как видите, сделать свой файловый сервер на основе старого компьютера совсем не трудно. У меня ушло около двух дней, да и то большая часть времени ушла на решение "проблемы больших дисков" на старой материнской плате.

Я не стал подробно останавливаться на сетевых настройках, так как слабо разбираюсь в них. Но связать в сеть основной ПК и сервер у меня получилось практически методом тыка и при небольшом "гуглении".

Конечно, внутри он выглядит очень колхозно, но главное, что железо не греется и не шумит. После полной обкатки файл-сервера можно будет сделать и нормальные, компактные провода питания SATA. Также на очереди оснащение его платой Wi-Fi и превращение в полноценный NAS.

Spigot / Paper предлагает настройки, которые значительно улучшают производительность сервера Майнкрафт. В этом руководству представлены предлагаемые значения, позволяющие получить максимальную отдачу от вашего сервера без ущерба для игрового процесса.

Предварительная генерация карты

Предварительная генерация карты имеет большое влияние на устранение лагов на сервере Майнкрафт. Обязательно сделайте это на своем сервере.

  1. Установите плагин WorldBorder
  2. Поставьте разумное ограничение по размерам карты
  3. Пропишите команду: /wb fill
  4. Подождите… это может занять вплоть до нескольких часов в зависимости от размера карты. В идеале это нужно делать до того, как карта будет запущена, так как это вызовет задержку.
  5. Оставьте ограничение мира, чтобы чанки больше никогда не создавались (тогда вся карта будет сразу прогружена и не будет лагов из-за прогрузки чанков).

Bukkit.yml

spawn-limits
По умолчанию: monsters: 70, animals: 10, water-animals: 15, water-ambient: 20, ambient: 15
Оптимизировано: monsters: 50, animals: 8, water-animals: 7, water-ambient: 10, ambient: 1
Влияние на производительность: Большое

chunk-gc.period-in-ticks
По умолчанию: 600
Оптимизировано: 400
Влияние на производительность: Среднее

➫ Позволяет быстрее выгружать свободные чанки. Чем меньше тиков, тем выше будет показатель TPS, про который вы можете прочитать в конце этой статьи.

ticks-per.(type)-spawns
По умолчанию: monsters:1, water:1, water-ambient:1, ambient:1
Оптимизировано: monsters:5, water:11, water-ambient:21, ambient:31
Влияние на производительность: Среднее

➫ Этот параметр устанавливает, как часто (в тиках) сервер пытается породить сущности. Увеличение времени между попытками спавна не должно повлиять на игровой процесс. Смещение частоты тиков больше распределяет их по времени.

Примечание: Увеличивайте значение только в том случае, если у вас значительные потери тиков при выполнении задачи mobSpawn.

Spigot.yml

save-user-cache-on-stop-only
По умолчанию: false
Оптимизировано: true
Влияние на производительность: Среднее

➫ Этот параметр отвечает за то, нужно ли серверу всегда хранить пользовательские данные (false) или отложить эту функцию до того момента, как сервер начнет перезапуск или выключится (true)? Это хорошая экономия TPS.

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

entity-activation-range
По умолчанию: animals:32, monsters:32, raiders: 48, misc:16
Оптимизировано: animals:16, monsters:24, raiders: 48, misc:8
Влияние на производительность: Среднее

➫ Существа за пределами этого диапазона будут отмечаться реже. Не устанавливайте слишком низкое значение, иначе вы можете нарушить поведение мобов (аггро, рейды и т.д.).

Примечание: Деревенских жителей следует оставлять в покое (если это возможно), чтобы защитить механику.

tick-inactive-villagers
По умолчанию: true
Оптимизировано: false
Влияние на производительность: Среднее

➫ Включение этого параметра предотвращает установку галочки для жителей за пределами диапазона активации.

Примечание: Ванильное поведение позволяет отмечать всех жителей в загруженных чанках. Включите опцию villagers-active-for-panic, чтобы спасти некоторые железные фермы от разрушения.

nerf-spawner-mobs
По умолчанию: false
Оптимизировано: true
Влияние на производительность: Среднее

➫ Когда включено, мобы из спавнеров не будут иметь ИИ (не будут плавать/атаковать/двигаться). Это большая экономия TPS для массивных ферм мобов, но также ухудшает поведение. Плагин ограничителя фермы может быть лучшим решением.

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

Paper.yml

max-auto-save-chunks-per-tick
По умолчанию: 24
Оптимизировано: 6
Влияние на производительность: Большое

➫ Сохранение мира будет происходить с замедлением сохранения чанков. Очень важная функция для современных серверов Майнкрафт.

Примечание: Ниже 6 ставить не рекомендуется, есть возможность несохранения чанков!

max-entity-collisions (в Spigot.yml в некоторых сборках)
По умолчанию: 8
Оптимизировано: 2
Влияние на производительность: Среднее

➫ Зажатые объекты (кофемолки, фермы и т.д.) будут меньше сталкиваться и потреблять меньше TPS в процессе.

grass-spread-tick-rate
По умолчанию: 1
Оптимизировано: 4
Влияние на производительность: Среднее

➫ Время (в тиках) до того, как сервер попытается разбросать траву по частям. Это не окажет влияния на геймплей большинства типов игр.

hopper.disable-move-event
По умолчанию: false
Оптимизировано: true
Влияние на производительность: Большое

➫ Это значительно уменьшит отставание хоппера, поскольку предотвратит вызов InventoryMoveItemEvent для КАЖДОГО слота в контейнере.

Предупреждение: Плагины, которые прослушивают InventoryMoveItemEvent, будут сломаны.

prevent-moving-into-unloaded-chunks
По умолчанию: false
Оптимизировано: true
Влияние на производительность: Среднее

➫ Предотвращает попадание игроков в неактивный чанк. Такое происходит из-за лагов и может вызвать еще большие лаги.

use-faster-eigencraft-redstone
По умолчанию: false
Оптимизировано: true
Влияние на производительность: Большое

➫ Эта настройка сокращает анимацию и обновления работы редстоуна на 95%, при этом не ломая механизмы. Тестирование данной функции установило ускорение в 10 раз!

Server.properties

view-distance
По умолчанию: 10
Оптимизировано: 4-8
Влияние на производительность: Сильное

➫ Это самый важный параметр во всех ваших файлах, поскольку он ограничивает расстояние рендеринга чанков. Серверы с открытым миром (например, Survival) должны стремиться использовать значение 6+, но другие серверы с общим хостом, низкими характеристиками или большим количеством игроков могут использовать значение 4-5, если рендеринг чанков вызывает лаги.

TPS — отставания сервера

Для сервера показатель TPS является очень важным и самое максимальное значение TPS равно 20, именно с этой скоростью он и выполняет все задачи. Например, поведение мобов, скорость роста урожая, добыча блоков и многое другое. Чем ниже будет падать TPS сервера, тем больше зависаний будет на сервере. Блоки будут выпадать с задержкой, мобы будут зависать и все в этом духе. Если TPS упадет слишком низко, это может привести даже к краху всего сервера.

Значения TPS

20.0 = Супер — Ваш сервер в идеальном состоянии.
19.95 — 19.99 = Хорошо — Небольшие потери TPS. Почти не влияют на работу сервера.
18.5 — 19.94 = Играбельно — Есть некоторые подвисания, но особо не напрягают.
16.0 — 18.4 = Плохо — Достаточно частые подвисания, нужно искать проблемы в сервере.
= Можете сразу создавать новый сервер…

Ping — задержка подключения

Пинг показывает, количество времени (в миллисекундах) требуемое для обработки данных игрока на сервере. Чем дальше игрок географически находится от сервера, тем дольше будет доходить данные и тем больше будет пинг. Как владелец сервера вы должны разместить свой сервер в регионе, где вы предпочитаете иметь свою базу игроков, или в регионе, который находится на близком расстоянии ко всей вашей аудитории.

Пример: Если взять хостинг с датацентром в США, а ваши игроки будут из России или других стран СНГ, тогда у всех игроков будет очень высокий пинг и у них будут задержки. Опять же если ваши игроки из России, необязательно покупать хостинг с датацентром в России, можно брать в Германии, Франции. Там достаточно играбельный пинг и многие проекты держат там сервера.

Показатели пинга

1 — 90 = Супер!
91 — 179 = Хорошо — Могут быть неудобства во время PvP.
180 — 299 = Плохо — Постоянные зависания во время взаимодействия с блоками/игроками/мобами.
300 — 499 = Ужасно — Почти нереально играть.
500+ = Пора искать сервер поближе к вам.

Читайте также: