Tag - AMD64
1~2/2
-
Docker로 Longvinter 서버 열기 (AMD64, ARM64)
2024-04-04 16:04:53 먼저 AMD64 아키텍처에서는 Longvinter에서 공식적으로 사설 서버를 도커로 돌릴 수 있도록 소스 코드를 올려두긴 했다. 하지만 이를 제대로 사용하려면 소스 코드를 수정해야 한다. 그렇지 않으면 단순히 서버를 실행하기만 하는 용도로만 사용할 수 있다. 여기서 사용할 이미지(GitHub)는 Palworld 서버를 열 때 사용한 이미지의 소스 코드를 롱빈터용으로 수정한 것이다. 리눅스에 도커가 설치되어 있다는 가정 하에 진행 이미지 다운로드 이 과정은 생략해도 어차피 나중에 자동으로 다운로드가 진행된다. docker pull kimzuni/longvinter-docker-server:latest 서버 실행 준비 docker-compose.yml 파일 작성 mkdir -p ~/docker/longvinter cd ~/docker/longvinter vi docker-compose.yml 원래 제일 첫 번째 줄에 적던 version: "x.x" 구문은 이제 의미가 없어졌다고 작성하지 않아도 된다고 한다. services: longvinter-server: container_name: longvinter-server image: kimzuni/longvinter-docker-server:latest restart: unless-stopped stop_grace_period: 30s logging: driver: json-file options: max-size: "10m" max-file: "3" ports: - "7777:7777/tcp" - "7777:7777/udp" - "27016:27016/tcp" - "27016:27016/udp" environment: TZ: "UTC" PUID: 1000 PGID: 1000 PORT: 7777 QUERY_PORT: 27016 CFG_SERVER_NAME: "Unnamed Island" CFG_MAX_PLAYERS: 32 CFG_SERVER_MOTD: "Welcome to Longvinter Island!" CFG_PASSWORD: "" CFG_COMMUNITY_WEBSITE: "www.longvinter.com" CFG_COOP_PLAY: false CFG_COOP_SPAWN: 0 CFG_SERVER_TAG: "none" CFG_ADMIN_STEAM_ID: "" CFG_ENABLE_PVP: true CFG_TENT_DECAY: true CFG_MAX_TENTS: 2 volumes: - ./data:/data networks: games: ipv4_address: 172.16.11.12 networks: games: name: games external: true 서버 실행 docker compose up -d # 실행 docker logs -f longvinter-server # 컨테이너 로그 확인 필터링을 위한 비속어가 포함된 굉장히 긴 로그가 나타나고 잠시 후 아래와 같은 로그가 뜨면 서버에 접속할 수 있다. ****Starting Server**** /data/LongvinterServer.sh -Port=7777 -QueryPort=27016 time="2024-04-04T08:50:08Z" level=info msg="read crontab: /home/steam/server/crontab" ... [2024.04.04-09.04.21:243][ 74]LogEOS: Verbose: CreateSession: Successfully created session 'Unnamed Island' with ID 'fb347698360146d5971fe63b8ad04bfe' [2024.04.04-09.04.21:573][ 84]LogNet: ReplicationDriverClass is null! Not using ReplicationDriver. [2024.04.04-09.04.21:573][ 84]LogNetCore: DDoS detection status: detection enabled: 0 analytics enabled: 0 [2024.04.04-09.04.21:573][ 84]LogInit: BSD IPv4/6: Socket queue. Rx: 262144 (config 131072) Tx: 262144 (config 131072) [2024.04.04-09.04.21:573][ 84]LogNet: Created socket for bind address: 0.0.0.0 on port 7787 그 외 docker compose 명령어는 docker-compose.yml 파일이 있는 위치 또는 그 하위에서 실행해야 햔다. docker restart longvinter-server # 재시작 docker compose down # 종료 docker pause longvinter-server # 일시정지 docker unpause longvinter-server # 일시정지 해제 Failed to find object ARM64 버전에선 아래와 같은 경고 메시지가 굉장히 많이 뜨긴 하지만, 서버를 들어가보면 모든 오브젝트들이 아무런 문제 없이 표시되며, 정상적으로 플레이가 가능하다. [2024.04.03-12.41.47:651][ 0]LogUObjectGlobals: Warning: Failed to find object 'Object None.None' -
2024-02-09 21:23:49 Docker로 Palworld 서버 열기 (ARM64) Ver. 2 ARM64에 올리는 방법은 위 글 참고. Palworld에서는 공식적으로 도커 이미지를 제공하지 않지만, 역시 누군가 만들어둔 이미지(GitHub)가 있어서 사용해 봤다. 업데이트도 매우 빠르고 각종 기능도 계속 추가되고 있다. 솔직히 GitHub와 Docker 사이트에 실행 방법이 다 나와있기 때문에 별로 설명할 건 없고, docker-compose.yml 파일 내용을 올리기 위해 작성하는 글이다. 리눅스에 도커가 설치되어 있다는 가정 하에 진행 이미지 다운로드 이 과정은 생략해도 어차피 나중에 자동으로 다운로드가 진행된다. docker pull thijsvanloef/palworld-server-docker 서버 실행 준비 docker-compose.yml 파일 작성 mkdir -p ~/docker/palworld cd ~/docker/palworld vi docker-compose.yml version: "3.9" services: palworld: container_name: palworld restart: unless-stopped stop_grace_period: 30s image: thijsvanloef/palworld-server-docker:latest ports: - 8211:8211/udp - 27015:27015/udp env_file: - .env - settings.env environment: - PUID=1000 - PGID=1000 - MULTITHREADING=true - UPDATE_ON_BOOT=true - TZ=Asia/Seoul volumes: - ./server:/palworld networks: games: ipv4_address: 172.16.11.11 networks: games: name: games external: true .env 파일에는 포트 번호, 서버명, 서버 설명, 패스워드 등의 내용이 들어있고, settings.env 파일에는 게임에 적용되는 설정들이 저장되어 있다. 서버 실행 docker compose up -d # 실행 docker logs -f palworld # 컨테이너 로그 확인 아래와 같은 로그가 뜨면 서버 실행 완료. 마지막에 [S_API FAIL] ...이라고 뜨는데, 상관없는지 제대로 돌아간다. *****STARTING SERVER***** ./PalServer.sh -port=8211 -queryport=27015 EpicApp=PalServer -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS time="2024-02-07T18:14:21+09:00" level=info msg="read crontab: /home/steam/server/crontab" ... Setting breakpad minidump AppID = 2394010 [S_API FAIL] Tried to access Steam interface SteamUser021 before SteamAPI_Init succeeded. [S_API FAIL] Tried to access Steam interface SteamFriends017 before SteamAPI_Init succeeded. [S_API FAIL] Tried to access Steam interface STEAMAPPS_INTERFACE_VERSION008 before SteamAPI_Init succeeded. [S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded. + 처음 실행하거나 Palworld 서버가 설치된 디렉토리를 삭제 또는 이동했다면 서버를 설치해야 하기 때문에 조금 오래 걸린다. 이때 서버를 설치하는 동안의 로그가 실시간으로 뜨지 않고 조금씩 모아져서 한 번에 뜨는 문제가 있기 때문에 특별한 에러가 없다면 멈춘 것이 아니니 기다리면 된다. 그 외 docker compose 명령어는 docker-compose.yml 파일이 있는 위치 또는 그 하위에서 실행해야 한다. docker exec -it palworld rcon-cli # rcon 연결 docker restart palworld # 재시작 docker compose down # 종료 docker pause palworld # 일시정지 docker unpause palworld # 일시정지 해제