Minecraft
lastmod 2025-05-28created 2020-11-2223 edits
Minecraft is a sandbox video game made by the Swedish game developer Mojang Studios. Markus Persson developed it in the Java programming language and first released it to the public in May 2009; after Jens Bergensten took over as lead designer, the full version was released on November 18, 2011.
Shader
- (recommended) Sildur's+Vibrant+Shaders+v1.31+Lite
Server
On ArchLinux, it uses GNU Screen as a dependency.
Java Edition Server
After installing java, download Minecraft and
Docker Server
Set up the container with port 25565 open, 1G ram assigned and named "MyServer":
docker run --rm -it -p 25565:25565/tcp --name "MyServer" -e RAM=1G sirplexus/minecraft-server-standalone
sirplexus/minecraft-server-standalone seems slow to pick up the latest version?
So I ran it with the marctv/minecraft-papermc-server image as below:
Personal server launch history
docker run -d --name mc -e MEMORYSIZE=1G -p 9999:25565 -v ./.mc:/data marctv/minecraft-papermc-server:{마인크래프트버전}
For server configuration, see #Configuring the Minecraft server.
Hosting
- Aternos | Minecraft servers. Free. Forever.
- Free Minecraft Server Hosting, VPS Hosting & more - Falix
- Minehut - Free Minecraft Server Hosting
- Game Server Hosting - Virtual & Dedicated - ScalaCube
- Server.pro
Installing on ArchLinux
Install minecraft-server from the aur.
Setup
In the installation process the minecraft user and group is introduced. Establishing a Minecraft-specific user is recommended for security reasons. By running Minecraft under an unprivileged user account, anyone who successfully exploits your Minecraft server will only get access to that user account, and not yours. However you may safely add your user to the minecraft group and add group write permission to the directory /srv/minecraft (default) to modify Minecraft server settings. Make sure that all files in the /srv/minecraft directory are either owned by the minecraft user, or that the user has by other means read and write permissions. The server will error out if it is unable to access certain files and might even have insufficient rights to write an according error message to the log.
The package provides a systemd service and timer to take automatic backups. By default the backups are located in the backup folder under the server root directory. Though to keep the disk footprint small only the 10 most recent backups are preserved (configurable via KEEP_BACKUPS). The related systemd files are minecraftd-backup.timer and minecraftd-backup.service. They may easily be adapted to your liking, e.g. to follow a custom backup interval.
Starting the server
To start the server you may either use systemd or run it directly from the command line. Either way the server is encapsulated in a GNU Screen session which is owned by the minecraft user. Using systemd you may start and enable the included minecraftd.service. Alternatively run
| NOTE |
| If you run the server for the first time an EULA file residing under |
Firewall Configuration for Server Worlds
There are three settings in the server.properties which determine ports that your server will use.
server-port determines the TCP port at which the server will listen for incoming connections. Default port is 25565.
query.port determines the UDP port at which the server will share game info/advertising information. Default port is 25565. Note that since server and query ports are TCP and UDP, they can share the same port. To enable query, you also have to specify enable-query=true.
rcon.port determines the TCP port if you choose to allow remote access to admin console. Default port is 25575. To enable rcon, you also have to specify enable-rcon=true and rcon.password=....
You will need to allow incoming connections at least on the server-port. It is advisable to allow query and its query.port. On the other hand, enabling remote console access is a security risk, and you should be careful of allowing it.
Above information is for the official Minecraft server. If you are using alternate server, please see its documentation for details about its configuration.
Server management script
To easily control the server you may use the provided minecraftd script. It is capable of doing basic commands like start, stop, restart or attaching to the session with console. Moreover it may be used to display status information with status, backup the server world directory with backup, restore world data from backups with restore or run single commands in the server console with command do-something.
| NOTE |
| Regarding the server console (reachable via |
Tweaking
To tweak the default settings (e.g. the maximum RAM, number of threads etc.) edit the file /etc/conf.d/minecraft.
For example, more advanced users may wish to enable IDLE_SERVER by setting it to true. This will enable the management script to suspend the server if no player was online for at least IDLE_IF_TIME (defaults to 20 minutes). When the server is suspended an idle_server will listen on the Minecraft port using ncat(1) (also called netcat or simply nc for short; see Network tools#Netcat) and will immediately start the server at the first incoming connection. Though this obviously delays joining for the first time after suspension, it significantly decreases the CPU and memory usage leading to more reasonable resource and power consumption levels.
| NOTE |
| If running for the first time with this option enabled, the |
Configuring the Minecraft server
server.properties
Server settings
ops.json
List of operators (op)
- uuid: The operator's UUID.
- name: The operator's username.
- level: The operator's permission level.
- bypassesPlayerLimit: If true, the operator can join the server even if the player limit has been reached.
See also
Favorite site
- ArchWiki - minecraft
- Download Minecraft: Java Edition | Minecraft
- Github - minecraft-ondemand
- Running an on-demand Minecraft server on AWS very cheaply
- Runs only while in use and shuts down otherwise; $1.5/month for 20 hours of operation per month