Як створити сервер у Майнкрафт
Власний сервер дає повний контроль над світом і правилами гри. Це можливість грати з друзями без оплати щомісячних підписок, встановлювати…
Власний сервер дає повний контроль над світом і правилами гри. Це можливість грати з друзями без оплати щомісячних підписок, встановлювати будь-які модифікації, створювати міні-ігри або технічні збірки. Сервер запускається як окрема програма на комп'ютері: він обробляє логіку гри, а клієнти гравців підключаються до нього. Процес створення складається з вибору ядра, базового налаштування конфігів та відкриття доступу до мережі.
Вибір серверного ядра
Тип ядра визначає функціонал сервера. Неможливо встановити Forge-моди на Paper, або плагіни на Vanilla.
Тип ядра | Підтримка | Для чого підходить |
Vanilla | Лише датапаки | Чисте виживання, спідрани. Найгірша оптимізація. |
Paper | Плагіни (Bukkit/Spigot/Paper) | Публічні сервери, виживання з друзями, міні-ігри. Відмінна оптимізація. |
Purpur | Плагіни (Paper) + свій конфіг | Як Paper, але з тонкими налаштуваннями механік (наприклад, дозволити їздити на бджолах). |
Fabric | Моди (Fabric) | Технічні сервери (Carpet mod), ванільні+ збірки, оптимізація (Lithium). |
NeoForge / Forge | Моди (Forge/NeoForge) | Важкі модпаки з новими вимірами, механізмами, магією. |
Для 90% приватних серверів без великих глобальних модів Paper є оптимальним вибором. Він не вимагає встановлення модів на клієнти гравців (все заходить з ванільного клієнта), підтримує плагіни для привату територій і працює швидше за офіційне ядро.
⚠️ Важливо: Гібридні ядра (Arclight, Mohist), які підтримують і моди, і плагіни одночасно, часто ламають механіки модів і викликають нестабільність. Обирай щось одне: або плагіни, або моди.
Вимоги до системи та підготовка
Сервер споживає оперативну пам'ять (RAM) і ресурс процесора. Відеокарта для сервера не має значення — генерація світу йде виключно на CPU.
Для 2–5 гравців (Paper):
RAM: 2–3 ГБ виділеної пам'яті.
CPU: будь-який сучасний процесор від 4 ядер.
Для 10+ гравців або важких модпаків (NeoForge):
RAM: 6–8 ГБ виділеної пам'яті.
CPU: висока продуктивність на одне ядро.
Встановлення Java
Minecraft 1.21+ вимагають Java 21 (для версій 26.1+ треба Java 26). Сервер не використовує вбудовану в клієнт Java, її треба встановлювати на систему окремо.
Завантаж JDK 21 (або JDK 26) з офіційного сайту Oracle.
Встанови, обов'язково активувавши опцію “Add to PATH” в інсталяторі.
Перевір у терміналі: java -version. Має вивести версію 21.0.x.
Базове встановлення та запуск
Приклад встановлення для ядра Paper:
Крок 1. Завантаження ядра
Перейди на офіційний сайт papermc.io, вибери версію гри (наприклад, 26.1) та завантаж файл. Створи порожню папку для сервера і перемісти файл туди. Перейменуй його на server.jar для зручності.
Крок 2. Створення файлу запуску
Сервер не запускається подвійним кліком. Треба виділити йому пам'ять через скрипт.
Створи у папці сервера текстовий документ start.txt,
відкрий його і встав код:
DOS
java -Xmx4G -Xms4G -jar server.jar nogui
pause
Параметр -Xmx4G встановлює максимальний ліміт оперативної пам'яті (4 ГБ). -Xms4G – стартовий обсяг. Збережи файл і зміни його розширення з .txt на .bat (для Windows).
На Linux/macOS створи start.sh і додай #!/bin/bash першим рядком.
Крок 3. Прийняття EULA
Запусти start.bat. Консоль відкриється на кілька секунд і закриється. Відкрий новий файл eula.txt. Зміни рядок eula=false на eula=true. Це офіційна згода з ліцензійною угодою розробників.
Крок 4. Повноцінний запуск
Знову запусти start.bat. Сервер згенерує світ та файли конфігурації. У консолі з'явиться повідомлення Done!. Зупиняй сервер виключно командою stop у консолі, інакше світ може пошкодитися.
Налаштування server.properties
Файл server.properties містить головні налаштування сервера. Щоб відкрити його натисніть ПКМ (правою кнопкою миші) по файлу та оберіть “Відкрити за допомогою…”, після оберіть “Блокнот” або будь-який інший текстовий редактор.\
Нижче таблиця з дефолтними налаштуваннями server.properties та описом кожного параметру:
Параметр | Значення | Опис |
accepts-transfers | FALSE | Визначає, чи приймає цей сервер перенаправлення (трансфери) гравців з інших серверів. |
allow-flight | FALSE | Дозволяє або забороняє польоти на сервері в режимі виживання (якщо гравець використовує сторонні модифікації). При false сервер кікатиме таких гравців. |
broadcast-console-to-ops | TRUE | Якщо ввімкнено, результати виконання консольних команд будуть надсилатися в чат усім операторам (адміністраторам) сервера. |
broadcast-rcon-to-ops | TRUE | Те саме, що і попереднє, але для команд, які були надіслані через віддалений доступ (RCON). |
bug-report-link | (порожньо) | Посилання, яке буде показано гравцям на екрані при відключенні з сервера через помилку або збій. |
debug | FALSE | Вмикає режим налагодження (debug mode) для розширеного логування помилок. |
difficulty | easy | Рівень складності на сервері (peaceful - мирно, easy - легко, normal - нормально, hard - складно). |
enable-code-of-conduct | FALSE | Чи вимагати від гравців згоди з правилами поведінки Microsoft (Code of Conduct) при підключенні. |
enable-jmx-monitoring | FALSE | Дозволяє використання JMX (Java Management Extensions) для моніторингу продуктивності сервера. |
enable-query | FALSE | Вмикає протокол GameSpy4 (Query), який дозволяє стороннім сайтам-моніторингам отримувати інформацію про сервер (онлайн, плагіни). |
enable-rcon | FALSE | Вмикає віддалений доступ до консолі сервера (RCON) для керування без прямого доступу до термінала машини. |
enable-status | TRUE | Дозволяє серверу відображатися як "онлайн" у списку серверів клієнта гри. |
enforce-secure-profile | TRUE | Вимагає, щоб у гравців були підписані публічні ключі профілю Mojang (захист від підробки повідомлень у чаті). |
enforce-whitelist | FALSE | Якщо true, сервер примусово вижене гравців, яких немає у "білому списку" (whitelist), коли цей список активується. |
entity-broadcast-range-percentage | 100 | Контролює дальність (у відсотках), на якій сервер відправляє клієнту дані про сутностей (мобів, інших гравців, предмети). |
force-gamemode | FALSE | Примусово встановлює гравцям ігровий режим за замовчуванням при кожному підключенні до сервера. |
function-permission-level | 2 | Рівень прав доступу (від 1 до 4) для функцій, які виконуються через датапаки (datapacks). |
gamemode | survival | Ігровий режим за замовчуванням (survival, creative, adventure, spectator). |
generate-structures | TRUE | Визначає, чи будуть генеруватися структури у світі (села, підземелля, храми тощо). |
generator-settings | {} | Спеціальні налаштування для генератора світу (зазвичай використовується для кастомних світів). |
hardcore | FALSE | Режим "Хардкор". Якщо true, після смерті гравець переходить у режим спостерігача назавжди. |
hide-online-players | FALSE | Якщо true, приховує список ніків активних гравців у меню багатокористувацької гри. |
initial-disabled-packs | (порожньо) | Список датапаків, які будуть відключені при створенні нового світу. |
initial-enabled-packs | vanilla | Список датапаків, які увімкнені за замовчуванням (базова гра "vanilla"). |
level-name | world | Назва папки, в якій зберігаються файли вашого світу. |
level-seed | (порожньо) | Сід (числове зерно) для генерації світу. Якщо порожньо, згенерується випадковий. |
level-type | minecraft\:normal | Тип генерації світу (normal - звичайний, flat - плаский, large_biomes - великі біоми, amplified - гірський). |
log-ips | TRUE | Визначає, чи будуть записуватися IP-адреси гравців у лог-файли сервера. |
management-server-* | (різні) | Група параметрів (порти, ключі, налаштування) для зовнішніх інструментів управління сервером (використовується рідко). |
max-chained-neighbor-updates | 1000000 | Ліміт ланцюгових оновлень блоків (наприклад, під час вибуху ТНТ або складних схем редстоуну) для запобігання зависанню сервера. |
max-players | 20 | Максимальна кількість гравців, які можуть одночасно знаходитися на сервері. |
max-tick-time | 60000 | Максимальний час (у мілісекундах) виконання одного "тіку". Якщо сервер "задумається" довше за цей час, він автоматично вимкнеться (захист від "мертвого" зависання). |
max-world-size | 29999984 | Максимальний радіус кордону світу (у блоках). |
motd | A Minecraft Server | Message Of The Day. Опис/назва сервера, який гравці бачать у списку серверів. |
network-compression-threshold | 256 | Мінімальний розмір пакету (у байтах), після якого сервер почне його стискати для економії інтернет-трафіку. |
online-mode | TRUE | Дуже важливий параметр. Якщо true — пускає тільки гравців з ліцензійною грою. Якщо false — дозволяє заходити гравцям з "піратських" лаунчерів. |
op-permission-level | 4 | Рівень прав операторів за замовчуванням (1-4, де 4 дає доступ до всіх команд, включаючи stop). |
pause-when-empty-seconds | -1 | Час простою (в секундах), після якого сервер ставить світ "на паузу", якщо немає гравців (-1 означає вимкнено). |
player-idle-timeout | 0 | Час (у хвилинах), після якого неактивного (AFK) гравця автоматично кікає. 0 — вимкнено. |
prevent-proxy-connections | FALSE | Забороняє підключення гравців, які використовують VPN або проксі (працює в зв'язці з системою автентифікації Mojang). |
query.port | 25565 | Порт для протоколу Query (якщо він увімкнений параметром enable-query). |
rate-limit | 0 | Максимальна кількість пакетів від клієнта до сервера. Використовується для захисту від спаму пакетами (0 — вимкнено). |
rcon.password | (порожньо) | Пароль для віддаленого доступу до консолі сервера (потрібно заповнити, якщо enable-rcon=true). |
rcon.port | 25575 | Порт для RCON з'єднання. |
region-file-compression | deflate | Алгоритм стиснення файлів світу (регіонів). deflate є стандартним і найпоширенішим. |
require-resource-pack | FALSE | Якщо true, гравець не зможе зайти на сервер, поки не погодиться завантажити серверний ресурспак. |
resource-pack | (порожньо) | Пряме посилання (URL) на .zip архів ресурспаку сервера, який буде запропоновано гравцям. |
resource-pack-id | (порожньо) | Унікальний ідентифікатор ресурспаку (UUID). |
resource-pack-prompt | (порожньо) | Повідомлення, яке побачить гравець при пропозиції завантажити ресурспак (наприклад: "Будь ласка, завантажте пак для кращої гри"). |
resource-pack-sha1 | (порожньо) | SHA-1 хеш архіву з ресурспаком. Потрібен для того, щоб клієнт не завантажував пак заново, якщо він не змінився. |
server-ip | (порожньо) | IP-адреса для "прив'язки" сервера. Зазвичай залишають порожнім, щоб сервер працював на всіх мережевих інтерфейсах машини. |
server-port | 25565 | Основний порт сервера, за яким будуть підключатися гравці. |
simulation-distance | 10 | Радіус (у чанках) навколо гравця, в межах якого симулюється світ (ростуть рослини, ходять моби, працюють механізми). |
spawn-protection | 16 | Радіус захисту зони спавну (в блоках). У цій зоні звичайні гравці не можуть ламати або ставити блоки. |
status-heartbeat-interval | 0 | Інтервал надсилання розширених даних про статус сервера (зазвичай не використовується). |
sync-chunk-writes | TRUE | Робить збереження чанків на диск синхронним (більш надійно для уникнення втрати даних світу при збоях, але може трохи сповільнити сервер). |
text-filtering-config | (порожньо) | Налаштування сторонньої системи фільтрації нецензурних слів у чаті. |
text-filtering-version | 0 | Версія API для системи фільтрації тексту. |
use-native-transport | TRUE | Дозволяє серверу використовувати оптимізовані мережеві бібліотеки системи (наприклад, epoll для Linux), що покращує продуктивність мережі. |
view-distance | 10 | Дальність промальовування (у чанках), яка надсилається сервером клієнту (на що спирається дальність видимості гравця). |
white-list | FALSE | Увімкнення "білого списку". Якщо true, на сервер зможуть зайти лише гравці, чиї ніки додані до цього списку (командою /whitelist add <нік>). |
⚠️ Важливо: Якщо ставиш online-mode=false, будь-який гравець зможе зайти під ніком адміністратора. Обов'язково встановлюй плагін на авторизацію (наприклад, AuthMe Reloaded) для захисту.
Як встановити плагіни
Плагіни розширюють можливості сервера без необхідності встановлювати моди гравцям. Працюють лише на Paper, Purpur та Spigot.
Завантаж плагін у форматі .jar.
Помісти файл у папку plugins всередині сервера.
Перезапусти сервер (stop -> start.bat).
У папці plugins з'явиться папка з конфігами плагіна, де редагуються його налаштування (зазвичай у файлі config.yml).
Як встановити моди
Для гри з модами потрібне ядро Fabric або NeoForge. Всі гравці повинні мати ідентичний набір модів у своєму клієнті.
Для Fabric:
Завантаж інсталятор з fabricmc.net.
Запусти його, вибери вкладку "Server", вкажи версію гри і порожню папку. Натисни "Install".
Запускай завантажений fabric-server-launch.jar через start.bat.
Кидай моди в згенеровану папку mods. Для Fabric обов'язково потрібен мод Fabric API.
Для NeoForge:
Завантаж інсталятор з neoforged.net.
Запусти, вибери "Install server" і вкажи папку.
Після встановлення запусти файл run.bat (інсталятор сам його створює).
Розмісти серверні моди в папці mods.
Клієнтські моди (мінікарти, шейдери, оптимізація відображення типу Sodium) ставити на сервер заборонено — вони викликають краш ядра при запуску.
Як впустити гравців на сервер
Спосіб 1: Port Forwarding
Найкращий спосіб з найменшим пінгом. Вимагає доступу до роутера.
Зайди в панель налаштувань роутера (192.168.1.1 у браузері).
Знайди розділ "Port Forwarding" або "NAT".
Створи правило: порт 25565, протокол TCP/UDP, локальна IP — адреса твого комп'ютера (дізнайся через ipconfig).
Гравці підключаються за твоєю зовнішньою IP-адресою (сайт 2ip.ua).
Спосіб 2: Тунелі (Playit.gg)
Якщо провайдер блокує порти.
Завантаж програму з playit.gg.
Запусти її разом із сервером. Вона відкриє сторінку в браузері.
Зареєструйся, і сервіс видасть публічну адресу (наприклад, auto-bridge.playit.gg).
Гравці вводять цю адресу в гру.
Спосіб 3: Radmin VPN
Встанови Radmin VPN на всіх комп'ютерах.
Створи мережу і дай друзям назву.
Вони приєднуються до мережі.
Гравці підключаються за IP-адресою твого ПК, вказаною в Radmin VPN.
Технічні деталі / Як це працює всередині
Сервер Minecraft є однопотоковим додатком. Основний ігровий цикл (tick loop), який обробляє рух мобів, фізику і механізми, виконується виключно на одному ядрі процесора.
Гра намагається виконувати 20 тіків за секунду (TPS - Ticks Per Second). На один тік виділяється 50 мілісекунд. Якщо розрахунки займають більше часу, TPS падає і гравці відчувають затримки. Саме тому для сервера тактова частота одного ядра важливіша за загальну кількість ядер.
Багатопотоковість у ядрах на зразок Paper використовується лише для асинхронного завантаження чанків з диска та мережевої обробки, але сама логіка гри залишається на одному потоці.
Базові команди адміністратора
Вводяться в консолі сервера (без /).
Дія | Команда |
Видати права оператора | op [нік] |
Забрати права | deop [нік] |
Увімкнути білий список | whitelist on |
Додати в білий список | whitelist add [нік] |
Кікнути гравця | kick [нік] [причина] |
Забанити гравця | ban [нік] [причина] |
Зберегти світ вручну | save-all |
Хостинг як альтернатива
Якщо домашній комп'ютер слабкий, сервер можна орендувати.
Тип | Представники | Переваги | Обмеження |
Безкоштовні | Aternos, FalixNodes | Не треба платити | Черги на запуск, лаги при навантаженні, сервер вимикається без гравців. |
Платні бюджетні | PebbleHost, Bloom.host | Від 1$ за ГБ, робота 24/7 | Потрібно платити щомісяця. |
VDS/VPS | Hetzner, Oracle | Повний контроль над машиною | Потребує навичок адміністрування Linux. |
Поширені помилки і як уникнути
Помилка 1: FAILED TO BIND TO PORT. Сервер не запускається, бо порт 25565 вже зайнятий. Часто буває при запуску двох start.bat. Відкрий диспетчер завдань і закрий усі процеси Java(TM) Platform SE binary.
Помилка 2: UnsupportedClassVersionError. Версія Java застаріла. Для 1.20.5+ потрібна Java 21, а для 1.16.5 — Java 11.
Помилка 3: Лаги при швидкому польоті. Сервер не встигає генерувати нові чанки. Встанови плагін Chunky і попередньо згенеруй світ у радіусі 5000 блоків.
Помилка 4: Краш сервера Fabric/Forge при запуску. У папку mods потрапив клієнтський мод (мінікарта, Sodium). Сервер не має графічного інтерфейсу і падає при спробі їх завантажити.
Помилка 5: Помилка Invalid session при підключенні. Гравець використовує піратський лаунчер при ввімкненому online-mode=true. Зміни значення на false у server.properties.
Висновок
Власний сервер на базі Paper є оптимальним вибором для приватного виживання з друзями, оскільки забезпечує відмінну продуктивність і дозволяє додавати плагіни без зміни клієнта гри. Для великих збірок із новими механіками доведеться використовувати Fabric або NeoForge, які вимагають синхронізації модів між сервером та гравцями. Головний виклик у налаштуванні домашнього сервера — правильне відкриття портів, але використання сервісів на зразок Playit.gg вирішує проблему із закритими портами провайдера. Якщо продуктивності домашнього ПК не вистачає, перехід на недорогий платний хостинг гарантує стабільний доступ 24/7.
Коментарів ще немає. Будь першим, хто поділиться думкою.