Overview
간단하게 모드하우(Mordhau) 서버를 구축해봅시다.
SteamCMD 다운로드 및 서버 설치
※ 이 가이드는 Debian 및 CentOS 기준으로 작성되었습니다.
Debian 계열 – Debian, Ubuntu, Linux Mint 등등
RHEL 계열 – RHEL, CentOS, Scientific Linux 등등
다른 계열의 리눅스에서는 그에 맞는 명령어로 의존성 패키지들을 설치하면 될것입니다.1. SteamCMD를 설치하기에 앞서 SteamCMD에 대한 의존성 패키지 설치
Debian 계열
$ sudo apt-get install lib32gcc1RHEL 계열
$ sudo yum install libstdc++.i6862. 서버를 실행할 유저 등록
$ sudo useradd -m steam
3. steam 유저로 로그인
$ sudo su – steam
4. SteamCMD 파일 다운로드 & 압축 풀기
※ 주소 중간에 ㅁ 제거
$ curl -sqL “[link] | tar zxvf –5. 서버 설치 스크립트 파일 만들기
$ touch mordhau_update
6. 스크립트 파일에 밑 내용 추가
※ vim에디터나 nano에디터 혹은 다른 편한 에디터로 열어도 됩니다.
$ vi mordhau_update 또는 $ nano mordhau_update를 이용해서 내용 추가@ShutdownOnFailedCommand 1 @NoPromptForPassword 1 force_install_dir ./mordhau app_update 629800 validate quit7. SteamCMD 실행
$ ./steamcmd.sh
8. 로그인
Steam> login [스팀 아이디] [스팀 비밀번호] [스팀가드 5자리]
9. 서버 설치 스크립트 파일 실행 및 서버 설치
Steam> runscript mordhau_update
10. SteamCMD 종료
Steam> quit
11. steam 유저 로그아웃
$ exit
12. 서버에 대한 의존성 패키지들 설치
Debian 계열
$ sudo apt-get install -y libfontconfig1 libpangocairo-1.0-0 libnss3 libgconf2-4 libxi6 libxcursor1 libxss1 libxcomposite1 libasound2 libxdamage1 libxtst6 libatk1.0-0 libxrandr2RHEL 계열
$ sudo yum install -y pango.i686 fontconfig.i686 fontconfig-devel.i686 glibc.i686 libstdc++.i686 nss.i686 GConf2.i686 libXi.i686 libXcursor.i686 libXScrnSaver.i686 libXcomposite.i686 alsa-lib.i686 libXdamage.i686 libXtst.i686 atk.i686 libXrandr.i686
서버 설정
/home/steam/mordhau/Mordhau/Saved/Config/LinuxServer/Game.ini[/script/mordhau.mordhaugamesession]
MaxSlots=[최대 플레이어 수]ServerName=[서버 이름]
게임 내 서버 브라우저에 나타나는 서버 이름ServerPassword=[서버 비밀번호]
설정하면 접속 시 비밀번호 입력해야됨. 비워두면 공개서버AdminPassword=[어드민 비밀번호]
서버 내에서 이 비밀번호로 로그인 하면 어드민 권한을 가지게 됨Admins=[STEAMID64 번호1]
Admins=[STEAMID64 번호2]
Admins=[STEAMID64 번호3]
예) Admins=76561198038680677
…
이곳에 등록된 유저들은 어드민 로그인 없이 자동 로그인 권한을 가짐BannedPlayers=[STEAMID64 번호1]
BannedPlayers=[STEAMID64 번호2]
BannedPlayers=[STEAMID64 번호3]
…
이곳에 등록된 유저들은 서버 접속 불가능[/script/mordhau.mordhaugamemode]
PlayerRespawnTime=5.000000
플레이어 리스폰 시간BallistaRespawnTime=30.000000
발리스타 리스폰 시간CatapultRespawnTime=30.000000
투석기 리스폰 시간HorseRespawnTime=30.000000
말 리스폰 시간DamageFactor=1.000000
데미지 배율TeamDamageFactor=0.500000
팀데미지 배율MapRotation=[맵 이름1]
MapRotation=[맵 이름2]
MapRotation=[맵 이름3]
…
서버 맵 로테이션※필수 아님 – Tickrate 변경/home/steam/mordhau/Engine/Config/BaseEngine.ini/home/steam/mordhau/Mordhau/Config/DefaultEngine.ini[/script/engine.player]
ConfiguredInternetSpeed=8000000
ConfiguredLanSpeed=8000000[/script/onlinesubsystemutils.ipnetdriver]
MaxClientRate=240000
MaxInternetClientRate=240000
NetServerMaxTickRate=60
※ NetServerMaxTickRate 추천값 : 60, 120
서버 실행
1. steam 유저로 로그인
$ sudo su – steam
2. 백그라운드에서 서버 실행
$ nohup ./mordhau/MordhauServer.sh &
이렇게 실행하고 Ctrl + C를 눌러서 빠져나오면 끝입니다.
※ 포트 변경시$ nohup ./mordhau/MordhauServer.sh Port=7777 PeerPort=7778 QueryPort=27015 BeaconPort=15000 &
위의 숫자들을 알맞게 수정
서버 종료시에는
$ ps -x
를 쳐서 서버의 [pid]를 알아낸 후
$ sudo kill -9 [pid]
(해당 pid를 가진 모드하우 서버만 종료됨)혹은
$ sudo killall MordhauServer-Linux-Shipping
(실행중인 모든 모드하우 서버가 종료됨)이 명령어로 서버를 끄면 됩니다.
자동 서버 재시작
파일을 만듭니다. (ubuntu라는 계정 이용)
$ touch ~/mordhauserver.sh실행권한 부여
$ sudo chmod +x ~/mordhauserver.shmordhauserver.sh 내용 추가 (포트 변경 시 MordhauServer.sh 뒤에 구문 붙여주세요.)
#!/bin/sh killall MordhauServer-Linux-Shipping su steam -c “nohup /home/steam/mordhau/MordhauServer.sh &” renice -n -20 -u steam ps aux | grep mordhau자동 스케줄 등록
$ sudo crontab -e내용 추가
# 초 분 시 일 월 명령어 # 오전 6시에 서버 재시작 0 6 * * * /home/ubuntu/mordhauserver.shcron 데몬 실행 및 부팅 시 자동시작 등록
※ Debian 계열
$ sudo systemctl restart cron.service
$ sudo systemctl enable cron.service※ RHEL 계열
$ sudo systemctl restart crond.service
$ sudo systemctl enable crond.service서버 리부팅시 자동으로 서버 시작 (둘 중에 하나만)
1.
/etc/rc.local 파일 열어서 내용 추가/home/ubuntu/mordhauserver.sh2.
crontab -e 에 밑 구문 추가@reboot /home/ubuntu/mordhauserver.sh
기타
- 작성자의 리눅스 배포판 : Ubuntu Server 16.04 LTS, CentOS Linux release 7.6.1810 (Core)
- 7777, 7778, 27015, 15000 UDP 포트를 개방해야 합니다.
- 서버 업데이트 시, 서버 설치때와 같이 steam계정으로 들어가서 steamcmd실행 후 로그인한 뒤 runscript mordhau_update 해주시면 됩니다. 주의할점은 어떤 패치에서는 설정파일이 초기화되니 설정 확인해주세요.
- 필요시 방화벽에 예외 등록을 해야합니다.
- 영어 가이드[mordhau.com]
- Windows 가이드
- 모드하우 메인 포럼 네이버 카페[cafe.naver.com]