Skip to content

Minecraft

《마인크래프트》는 스웨덴의 게임 개발사 모장 스튜디오가 제작한 샌드박스 비디오 게임이다. 마르쿠스 페르손이 자바 프로그래밍 언어로 개발해 2009년 5월 처음 대중에 공개했으며, 옌스 베리엔스텐이 총괄 디자이너직을 이어받으면서 2011년 11월 18일 정식판이 출시됐다.

Shader

  • (추천) Sildur's+Vibrant+Shaders+v1.31+Lite

Server

ArchLinux에서 GNU Screen를 종속성으로 사용한다.

Java Edition Server

java 설치 후, 마크 다운받고

java -Xmx1024M -Xms1024M -jar minecraft_server.1.21.jar nogui

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 는 최신버전 적용이 느린듯?

그래서 marctv/minecraft-papermc-server 이미지로 아래와 같이 구동함:

개인 서버 기동 이력

docker run -d --name mc -e MEMORYSIZE=1G -p 9999:25565 -v ./.mc:/data marctv/minecraft-papermc-server:{마인크래프트버전}

서버 설정은 #Configuring the Minecraft server 항목 참조.

Hosting

ArchLinux 설치 방법

aur의 minecraft-server를 설치한다.

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

minecraftd start

NOTE

If you run the server for the first time an EULA file residing under /srv/minecraft/eula.txt gets created. You will need to edit this file to state that you have agreed to the contract in order to run the server.

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 minecraftd console), remember that you can exit any GNU screen session with ctrl+a d.

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 /srv/minecraft/eula.txt file will not get created. You need to disable it to initially start.

Configuring the Minecraft server

server.properties

서버 설정

ops.json

관리자(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