less than 1 minute read

마인크래프트 서버 만들기 (진행중)

마인크래프트 서버를 만들어 보려고 합니다.

참조: https://www.llewellynhughes.co.uk/post/installing-minecraft/ https://docker-minecraft-server.readthedocs.io/en/latest/

먼저 docker container에 필요한 폴더를 생성해줍니다:

Screenshot 2024-01-01 at 11.44.45 PM.png

docker-compose.yml 파일을 만들어서:

version: "3.8"

services:
  mc:
    image: itzg/minecraft-server
    tty: true
    stdin_open: true
    ports:
      - "25565:25565"
    environment:
      EULA: "TRUE"
      SPAWN_MONSTERS: "TRUE"
      MODE: "SURVIVAL"
      SERVER_NAME: "TESTSERVER"
    volumes:
      - ./data:/data

내부 내용을 원하는 대로 바꾸고 저장해줍니다.

이후 docker-compose.yml이 있는 폴더에서

docker-compose up -d

을 실행하면 됩니다.

rcon (마인크래프트 내부 명령어 실행)도 사용 가능합니다.

sudo docker exec -i (id) rcon-cli

명령어로 rcon-cli를 사용 할 수 있습니다. 저는 화이트리스트 추가로 사용하고 있습니다.

1일차:

Can’t keep up! Is the server overloaded? 오류

한번 서버 터지는걸(…) 구경하기 위해 24시간 켜놓고 있었는데, 친구들이 가끔 하던일이 몇십초 전으로 롤백되는 경우가 있다고 해서 로그를 찾아봤더니 위의 문구가 나와서 해결법을 찾아봤습니다.

https://jizard.tistory.com/321

에서 관련 내용을 찾았습니다.

docker-compose.yml 파일에

environment:
      EULA: "TRUE"
      SPAWN_MONSTERS: "TRUE"
      MODE: "SURVIVAL"
...
      JVM_OPTS: "-XX:+IgnoreUnrecognizedVMOptions -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:InitiatingHeapOccupancyPercent=15 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true"

이런식으로 추가 했습니다.

Comments