Why Forge 1.20 for a server?
Forge is a powerful modding platform for Minecraft, and the server variant is the same. It allows you to load mods for high speed and super customized and personalized gameplay! Forge mods can go from customizing the world generation to adding a minimap all the way to total conversion mods adding other dimensions and completely unique gameplay styles! The world is truly endless.
Downloading the Forge 1.20 server
To download Forge, all you need is the normal Forge installer (Yes, the same one you download and install the client-side Forge with)
Start by downloading the Forge installer:
After downloading, open it. Then simply click Install server , followed by clicking the . (ellipses) to choose a place to place your server. I put mine on my Desktop\Forge 1.20 .
Once you click OK: Forge should be downloaded and placed in that folder, ready for you to host a server with.
Preparing your Forge 1.20 server
Now you’ll need to navigate to where you installed it. Once there, open the run.bat file and a few files will be generated.
You will see an error on the first launch, but this is normal!
All you need to do is open the newly generated EULA.txt in the same folder and change eula=false to eula=true .
Now you should also see a mods folder where you can place mods for your server to use.
To give your server more RAM, which is really nessecary for bigger mods: You’ll need to open user_jvm_args.txt with a text editor such as Notepad.
Ever line that starts with a # is a ‘comment’ and is ignored. Remove the # from the last line, to make it:
The 4G part means 4 Gigabytes of RAM is how much your server can use. You can customize this to be almost whatever you want, provided you have enough available RAM for the server to run. You can give it as much RAM as you have available, but just remember to leave for other programs on your computer — including Minecraft if you’re choosing to play it on the same computer you’re hosting a server on. That’s fine, just make sure there’s enough RAM to go around, otherwise EVERYTHING may crash…
4G means 4 Gigabytes. You can set this to 6G for example, as in -Xmx6G . You can also use M to show Megabytes instead for more precise measurements. 1G = 1000M .
Fix missing Java error
This error is cryptic, but the solution is simple: Download Java.
Head to the Java download website and choose Windows , then next to x64 Installer , click the link.
Follow through with the Java installer as you would any other installer, and then you’re ready to start setting up the server.
Launch your Forge 1.20 server
Finally you’re able to play Forge 1.20 on your new server.
Head to your 1.20 Forge server folder and open start.bat . Now your server should start up.
Connect to your Forge 1.20 server
Finally you can actually connect to your own shiny new sererr!
On the same computer you’re hosting it on, you can connect to 127.0.0.1 , otherwise known as home, or localhost — This other option may work too!
Remember to type op <your username> in the server console to give yourself permission to run /gamemode and other commands as a server admin!
Letting other people connect
The first thing is the firewall. The Windows Firewall, and antivirus software with firewalls or third-party filewalls that listen to the Windows Firewall rules are easy – Others may need a more in-depth Google session to solve.
Usually you’ll open Windows Defender Firewall with Advanced Security , but no more! Here are some simple commands to save you LOTS of clicks.
Open PowerShell as admin by searching for it in your start bar, or open the Terminal as admin, if you have that installed, and then make sure PowerShell appears as the top — otherwise select it from the dropdown.
Now, run the following commands to allow traffic for port 25565 through to your computer:
Now, people on your local network can connect (the same router as you)
For people outside of that, things get a little more advanced…
Port Forwarding
This is an often scary sounding topic, but it shouldn’t be.
Simply put: When someone asks for a connection to port 25565 at your internet router’s IP address, they expect to be sent to your computer, but are instead rejected as the router has strong security rules. We need to tell the router that “it’s okay” and “send the traffic to this computer instead”.
That computer may either be your computer, or another router/s between you and the internet access router.
The first step is finding your local IP address. Open Command Prompt or PowerShell and run the command ipconfig . Find the way that you’re connected to the internet through, for example Ethernet or Wi-Fi and look for the IPv4 address. Copy this and keep it in mind. It should be something along the lines of 192.168.x.x .
Head to your routers config page or admin page that you’re connected to. This needs to be the first router after your computer on the way to the internet. If you’re connected straight to a fiber box or something of the sorts then it’s easier and you only have to do this once.
Log in with your administrator credentials. There are often defaults set, and there are far too many brands to cover… So this is up to you.
Heading to the Port Forwarding section, or Application Forwarding section and creating a new application should let you type in ports as well as where to send them to.
You’ll enter port 25565 as well as your local IP address, and select UDP to allow traffic to your computer.
Multiple routers lead to confusion as the furthest router needs to point to the next router, all the way to your computer. When I say ‘furthest’ I mean the one connected to the internet, and ‘closer’ as in the ones in-between you and the internet router connected via Wi-Fi or Ethernet cable in order. This can be a lengthy process with an advanced network setup.
This guide has a simplified explanation of how to port forward:
You can start from 3:30 as we’ve already covered the firewall!
Otherwise, if you have a multi-router network, this guide is for you as well:
Saving and exiting
Because your server runs on your own hardware: It’s free — other than what you paid for your computer hardware, electricity and internet. There are no hosting fees or anything of the kind! The server is free to run for you and your friends – as many as you want to join! You could have hundreds connected to your server assuming your internet and computer are powerful enough.
When everyone’s done having fun and you want to save and close your server, run the following in the server’s console:
The first command saves everything, and the second brings the server to a gentle stop allowing it time to prepare and save things on it’s way to a safe exit.
Abruptly exiting your server could cause corruption, data loss and worse! It’s always a good idea to run stop , even if you forget to run save-all .
It may not be nessecary to run the save command, but I like to make absolutely sure that our progress is saved before stopping and exiting a server.
Have fun
That’s it for setting up your server. Feel free to fill your mods folder with anything, and set it up the way your heart desires.
Everything from here out is on you and whoever you want playing on the server.
Forge
Forge has an easy to use installer that can be used to install all of the needed files to run a Forge server. Download the Forge installer forge-forge-x.x.x-x.x.x-installer and run the following as the minecraft user ( sudo su minecraft ) (Note: forge for Minecraft 1.16.4 is being used as an example.):
The next steps are divided between Forge 1.16.5 and before and Forge 1.17.1 and later. This is because the way that forge-1.17.1 was structered changed because “it is no longer feasible to provide a single executable jar like was done before.”
Forge 1.16.5 and before
Please note that forge for Minecraft 1.16.4 will be used in the examples.
The installer should install the forge server jar to /opt/mscs/server/forge-1.16.4-35.1.7/forge-1.16.4-35.1.7.jar and a bunch of library files in /opt/mscs/server/forge-1.16.4-35.1.7/libraries/ .
Create a Server (1.16.5)
forge can be replaced with any name. Ensure that port 25565 is an unused port, or change it if nessessary.
This will create the directory forge in /opt/mscs/worlds as well as the server.properties and mscs.properties files:
Change the directory to the world that was created and modify the mscs.properties file.
Add/alter these lines, replacing versions and file paths as needed:
Forge 1.17.1 and Later
Please note that forge for Minecraft 1.17.1 will be used in the examples.
If you named the server directory forge-1.17.1 in the first step with the mkdir command, the installer should install a bash script to /opt/mscs/server/forge-1.17.1 and a bunch of library files in /opt/mscs/server/forge-1.17.1/libraries/ .
There’s an automatic and a manual way to apply the fixes needed for these versions.
Automatic
In the /opt/mscs/server/forge-1.17.1 directory, execute these commands:
Manual
In the /opt/mscs/server/forge-1.17.1 directory, edit run.sh .
(GNU nano is an easy to use command-line text editor if you plan to edit the file from the terminal. Install it with sudo apt install nano if you are using a Debian based distro. In the following instructions, to edit a file with GNU nano, replace editor with nano .)
The original run.sh script wil include java @user_jvm_args.txt @libraries/net/minecraftforge/forge/1.17.1-37.1.1/unix_args.txt «$@»
The @user_jvm_args.txt and the @libraries/net/minecraftforge/forge/1.17.1-37.1.1/unix_args.txt need to be replaced with their full directory path. You should also include —nogui at the end of the same line before the «$@» . The file should now look like this:
Now the unix_args.txt file mentioned in run.sh needs to be edited as well to include the full directory paths. Change the directory to the one containing the unix_args.txt file, create a backup in case you mess up the editing, and then edit the original.
Every path that includes libraries/[. ] has to be replaced with their full directory path: /opt/mscs/server/forge-1.17.1/libraries/[. ] . If your editor of choice is GNU nano, this can be done by pressing <Ctrl-\> , typing libraries and pressing enter, then typing the full path name. In this case it would be /opt/mscs/server/forge-1.17.1/libraries , then press enter, then press <a> to replace all.
If you mess this up, you can always delete the unix_args.txt file and make another one using the backup, and start editing again.
Create a Server (1.17.1)
forge can be replaced with any name. Ensure that port 25565 is an unused port, or change it if nessessary.
This will create the directory forge in /opt/mscs/worlds as well as the server.properties and mscs.properties files:
Change the directory to the world that was created and modify the mscs.properties file.
Add/alter these lines, replacing versions and file paths as needed:
You may also want to increase the initial RAM and possibly even the maximum RAM. To do this, edit the user_jvm_args.txt file.
Now add all the java arguments you wish. For example, to allocate a minimum of 4GB and a maximum of 6GB, you would make the user_jvm_args.txt file look something like this:
Server Control
If the server fails to start, the eula.txt file may need to be edited and accepted:
Change false to true
Stop then Start the server:
The server should start up and run.
The server startup can be monitored by running:
Once you are done watching the server boot up, you can press <Ctrl-C> to detach.
Simply add mods as you would normally by dragging them into the /opt/mscs/worlds/forge/mods folder, assuming forge is the name of your world.
Как установить моды на Minecraft
Прежде чем вдаваться в подробности, следует понять: установка модов Forge на хостинг Minecraft отличается от установки плагинов Spigot.
Моды Forge изменяют структуру игры, добавляют новые блоки, технику взаимодействия с ними, например Industrial Craft, Thaumcraft, к таковым относится и Optifine. Эти моды устанавливаются одновременно на сервер и на клиент игры (на компьютер игрока).
Есть еще плагины Spigot/Bukkit, работающие только на стороне сервера (ставить на компьютер игроков их не нужно) — McMMO, WorldEdit, AuthMe и прочие. О них мы поговорим в другой статье, а в этой статье речь пойдет именно о модах Forge.
Как скачать Forge
Заходим на сайт http://files.minecraftforge.net/ и выбираем версию в левой части экрана:
На примере показан выбор версии Forge 1.12.2
Откроется страница с выбором файла для загрузки. Нажмите на кнопку «Installer»:
После нажатия на эту кнопку, появится страница для загрузки Forge
Как установить Forge
Запустите файл, который вы скачали, дважды щелкнув по нему. Появится окно, в котором нужно сделать три следующих действия:
- Нажать «Install server»
- Выбрать папку для установки, например, C:\MinecraftForge
- Нажать «ОК» и дождаться, пока установщик не скачает все нужные файлы. Процесс показан на картинке ниже.
Заходим в папку C:\MinecraftForge, куда мы установили сервер, и видим примерно следующую картину:
Файл со словом forge в названии и есть запускаемый файл сервера Forge
Создаем в этой папке новый текстовый документ, пишем в нем всего одну строчку:
После чего сохраняем документ как файл eula.txt
Настройка сервера Forge
Далее нам предстоит установить Forge на сервер, который вы приобрели. Для этого подключитесь к FTP-серверу, после чего перетащите все файлы из папки C:\MinecraftForge, куда мы установили сервер, прямо в корневой каталог (первое, что вы видите, подключившись к FTP-серверу).
Теперь вам нужно переименовать файл forge-1.12.2-14.23.5.2854.jar в server.jar
Переименовывайте именно файл со словом forge в названии
Теперь нужно прописать этот файл для запуска в панели управления Multicraft. Проходим в панель управления по ссылке, полученной вами в письме после внесения оплаты за сервер, и вводим server.jar в пустое поле ввода:
Этот процесс ничем не отличается от прописывания файла запуска Spigot/Bukkit
Загрузка модов
В интернете можно найти множество модов для Forge. Достаточно написать в поисковике что-то вроде «моды на Minecraft» и вы получите неимоверное количество ссылок. Скачайте несколько модов и загрузите их на FTP-сервер в заранее созданную папку «mods».
В игровой панели Multicraft нажмите кнопку запуска сервера. Здесь возможны различные варианты:
Сервер запускается бесконечно, в игре на сервер не войти
Нужно остановить сервер, после чего удалить на FTP-сервере папки со словом «world», после чего запустить сервер снова. Так бывает, когда мир уже создан с блоками, отсутствующими в ваших новых модах.
Сервер не запустился
Откройте меню «Консоль» в игровой панели, и смотрите ошибки со словом «Fatal» в начале текста. Чаще всего проблема именно в таких ошибках, например, если в ошибке со словом «Fatal» встречается название мода — поищите эту ошибку в поисковике, либо уточните у техподдержки, что именно может являться причиной падения сервера. Наиболее частая причина — мод не подходит к данной версии Forge.
Быстрое разворачивание Minecraft-сервера

У меня есть некоторый опыт создания серверов Minecraft под linux, да и вообще администрирования linux, но совершенно не представлял как же быть с Windows. Возможно даже расскажу некоторые капитанские вещи, но для меня они были открытием. Самое большое откровение для меня был PowerShell. Даже не могу передать всех эмоций, использования Windows в консольном режиме. Microsoft сделало максимально неудобным всё. Почему нельзя было взять лучшее у *nix систем, внедрить у себя и улучшить? Почему нельзя сделать поддержку ssh, posix-совместимую систему команд, для чего этот велосипед?
Но спустя некоторое время даже начал получать некоторое удовольствие от интерфейса, и видеть даже какую-то логику. В общем, перейти с Windows на linux было сильно проще, чем сделать это обратно.
Итак, сервер я создавал в нашем Маркетплейсе:

После того, как на него клацаем, там есть небольшая инструкция, как его использовать. Но она оказалась недостаточной и во многом пришлось разбираться самому.

Моя практика создания серверов показала, что для Minecraft-сервера необходимо не менее двух ядер, лучше больше 4-х ГБ ОЗУ. В целом, всё может работать на одном ядре, даже с 2 ГБ ОЗУ, но при большом количестве объектов, могут быть тормоза и пропуски хода.
Лично я такое наблюдал на куриной ферме, когда количество куриц у меня было более нескольких сотен. Тогда сервер реально начинал тормозить.

Корпус для аккумулятора
После создания сервера, спустя несколько минут у нас будет IP-адрес сервера, его логин и пароль.

Дальше необходимо подключиться через удалённый доступ. Поскольку я прожжёный линуксоид, то опишу два варианта подключения.
Подключение к удалённому серверу из Windows
В Windows всё просто. Жмём «Пуск» → «Выполнить» и вводим mstsc. Вводим параметры нашего сервера.

Если мы хотим копировать данные на сервер и с сервера (а я хочу), то идём во вкладку «Локальные ресурсы», и там нажимаем клавишу «Подробнее».

И далее указываем какие жёсткие диски мы хотим подключить. Нам это будет необходимо, если мы захотим копировать различные моды или какой-то дополнительный софт на наш сервер.

После этого мы можем подключиться к нашему серверу и увидим одно единственное окно PowerShell.

Содержимое диска C: нашего компьютера будет доступно в сетевой папке:

Думаю тут всё очевидно, и проблем возникнуть не должно.
Подключение к удалённому серверу из Linux
Вот подключение из Linux немного коварнее и сложнее, а главное работает не очень стабильно (особенно монтирование удалённых дисков). Но деваться некуда, поэтому будем использовать его. Для того, чтобы подключаться к удалённому рабочему столу машины с Windows, нам нужно установить программу Remmina.
После установки запускаем remmina, и конфигурируем подключение к удалённому серверу.

Обратите внимание на глубину цвета, если выбрать некорректную глубину цвета (большую, чем поддерживает сервер), будет ошибка подключения. Чтобы мы могли обмениваться файлами, необходимо выбрать общую папку. В моём случае это rdpfiles. В результате, наша папка на сервере будет доступна по адресу:

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

Всё, с этого момента сервер готов к работе. Мы можем его запустить командой
И всё, ваш сервер готов к работе, он создаёт новый мир и идёт загрузка, но дьявол кроется в мелочах. Сам сервер очень старый, версии 1.15.2 (тогда как на момент написания этой статьи была версия Minecraft 1.16.4).

Но, продемонстрирую, что сервер в действительности работает. Надо только в лаунчере поставить запуск старой версии (1.15.2), и указать при сетевом подключении IP-адрес нашего сервера.

Подключение успешно состоялось.
Как же обновить сервер, спросите вы? Оказывается очень просто. Последняя версия сервера находится по следующему адресу. Там нужно будет скопировать ссылку на данный файл.
Все файлы этого Minecraft-сервера (кроме стартовых скриптов) обитают в папке C:\Minecraft\ . Поэтому переходим в неё, и все процедуры делаем в ней.
Для того, чтобы скачать файл, в PowerShell есть аналог wget.
Поэтому копируем ссылку на наш файл, и подставляем в эту команду. У меня получилось вот так (обратите внимание, что в вашем случае будет другая ссылка, так как наверняка будет уже другая версия Майнкрафта).
Всё, мы обновили наш ванильный сервер, и он готов к работе. Пробуем запустить.
И видим, что у нас обновлённая версия сервера вполне себе работает.

Устанавливаем моды
Эта часть попила у меня чудовищное количество крови, и я с ней очень долго бодался, пытаясь понять что же не так. Для того, чтобы работали моды, необходимо установить дополнение Forge. Не смотря на то, что скрипт запуска Forge есть на данном сервере, сам Forge не установлен! И это главная беда.
Обращаю ваше внимание, что для каждого мода требуется своя версия Forge! Поэтому ищите детальное описание на вашу модификацию, и подбирайте совместимость версии Forge и версии мода. Поскольку у меня не хватило терпения на этот квест подбора соответствующих модулей, то рассказываю основной принцип. Нет, forge с модулями завёлся, но не совсем так как от него ожидалось.
Нам необходимо скачать нужную версию Minecraft Forge (выбирайте подходящую версию под ваш мод). Для этого создадим временую папку C:\tmp:
Выбираем «Install server» и выбираем папку куда ставить (C:\Minecraft) жмём ОК. И дожидаемся загрузки.

После окончания установки, будет выведено такое окно.

Успешность установки, можно проверить командой.
Если всё запускается без ошибок, всё, ваш сервер готов к запуску модов. Дальше вы можете моды скопировать в вашу сетевую папку, в моём случае rdpfiles и затем скопировать все моды в папку C:\Minecraft\mods\ (предварительно её создав).
Для того, чтобы был создан новый мир, не забываем удалять предварительно старый.
Соглашаемся со всем, нажимая букву “А” на латинской клавиатуре. Всё, можем стартовать новый мир с модами.
Удалять моды можно точно так же удаляя файлы в папке C:\Minecraft\mods\.
Белые списки и другие настройки сервера
Если вы создаёте сервер для друзей, не забывайте делать белые списки. А то бывают всякие неприятные ребятки, которые каким-то образом находят ваш тайный сервер и пакостят. У меня был случай, когда такой вот нехороший человек минировал наши дома. При чём несколько раз. На третий раз я психанул и разобрался с созданием белых списков для белых господ.
Белые списки можно включить через конфигурационный файл, но сильно проще их настроить прямо в консоли сервера. Для этого прямо в консоли пишем:

Можно даже попробовать зайти на сервер и убедиться, что никто теперь на него не зайдёт.

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

Всё, теперь я могу заходить на данный сервер.
Для того, чтобы конфигурировать сервер, нужно править файл server.properties. Завершить работу сервера можно комбинацией ctrl-c. Далее можно открыть этот файл обычным блокнотом.

Расписывание всех полей конфигурации сервера выходит за рамки этой статьи, поэтому вы можете ознакомиться с этим самостоятельно вот тут. Некоторые параметры можно менять прямо в консоли сервера, и они автоматически сохраняться в файле server.properties. Пример такого параметра — это создание белых списков. Что-то можно менять вручную. Экспериментируйте.
Выводы
Для меня был интересный опыт работы с серверной виндой, после linux. И каждый раз сталкивался с тем, что каждую команду надо было искать заново. Например, чтобы перезагрузить сервер, будет команда:
Если случайно закрыть окно PowerShell, то запустить его можно комбинацией Ctrl-Shift-Esc. Затем там выполнить PowerShell.


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