시작전
💡 Tips :
1. 구글 클라우드에 회원가입하면 3달간 300$가 충전됩니다.
2. 충전된 금액을 모두 소진하거나, 3달이 지나면 유료 회원 전환 여부를 물어 봅니다.
3. 유료 회원으로 전환하지 않으면 모든 자원은 구글에서 회수하고, 비용이 청구되지 않습니다.
4. 클라우드 구축은 포트포워딩이 필요 없으며, 종료하지 않는이상 IP가 바뀌지 않습니다.
먼저 서버를 구동시킬 VM 인스턴스를 생성해보자.
리전과 영역은 사용자의 목적에 따라 설정하시면되는데
대부분 한국에서 사용할것이니 리전은 서울로 영역은 본인의 취향에 맞게 추가하면됩니다.
권장사항을 충족하기 위해 N2 시리즈 중 standard-4 이상을 선택하시면됩니다.
(N2는 Intel, N2D는 AMD 입니다)
운영체제 -> Ubuntu
버전 -> 22.04 LTS x86 (AMD는 ARM64)
크기 -> 15GB (추후 업데이트 대비)
그 외에 옵션은 기본으로 두고 인스턴스 생성하시면 됩니다.
아래의 포트를 허용시켜줍시다.
tcp:27015
tcp:27016
tcp:25575
udp:27015
udp:27016
udp:25575
udp:8211
이후 콘솔에서 SSH 접속을 통해 OS 설정을 진행하자
apt update
sudo iptables -I INPUT -p tcp --dport 27015 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 27016 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 25575 -j ACCEPT
sudo iptables -I INPUT -p udp --dport 27015 -j ACCEPT
sudo iptables -I INPUT -p udp --dport 27016 -j ACCEPT
sudo iptables -I INPUT -p udp --dport 25575 -j ACCEPT
sudo iptables -I INPUT -p udp --dport 8211 -j ACCEPT
sudo iptables -S <- 설정 저장
방화벽 개방 확인
sudo iptables -nL
### 방화벽 개방 확인 ###
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:8211
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:25575
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:27016
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:27015
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:25575
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:27016
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:27015
Steam CMD install
sudo add-apt-repository multiverse; sudo dpkg --add-architecture i386; sudo apt update
sudo apt install steamcmd
steamcmd +login anonymous +app_update 2394010 validate +quit
mkdir -p ~/.steam/sdk64/
steamcmd +login anonymous +app_update 1007 +quit
cp ~/Steam/steamapps/common/Steamworks\ SDK\ Redist/linux64/steamclient.so ~/.steam/sdk64/
## 게임 설치 디렉토리로 이동 ##
cd ~/Steam/steamapps/common/PalServer
## 구동기 실행 ##
./PalServer.sh
서버 설정 파일 수정 (커스터마이징)
상세한 서버 옵션 설정은 개발사 홈페이지 참조 : 클릭링크이동
vi ~/Steam/steamapps/common/PalServer/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
**## 아래 부분을 사용자의 환경에 맞추어 수정후 PalWorldSetting.ini 파일에 적용합니다 ##**
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(Difficulty=None,DayTimeSpeedRate=1.000000,NightTimeSpeedRate=1.000000,ExpRate=1.000000,PalCaptureRate=1.000000,PalSpawnNumRate=1.000000,PalDamageRateAttack=1.000000,PalDamageRateDefense=1.000000,PlayerDamageRateAttack=1.000000,PlayerDamageRateDefense=1.000000,PlayerStomachDecreaceRate=1.000000,PlayerStaminaDecreaceRate=1.000000,PlayerAutoHPRegeneRate=1.000000,PlayerAutoHpRegeneRateInSleep=1.000000,PalStomachDecreaceRate=1.000000,PalStaminaDecreaceRate=1.000000,PalAutoHPRegeneRate=1.000000,PalAutoHpRegeneRateInSleep=1.000000,BuildObjectDamageRate=1.000000,BuildObjectDeteriorationDamageRate=1.000000,CollectionDropRate=1.000000,CollectionObjectHpRate=1.000000,CollectionObjectRespawnSpeedRate=1.000000,EnemyDropItemRate=1.000000,DeathPenalty=All,bEnablePlayerToPlayerDamage=False,bEnableFriendlyFire=False,bEnableInvaderEnemy=True,bActiveUNKO=False,bEnableAimAssistPad=True,bEnableAimAssistKeyboard=False,DropItemMaxNum=3000,DropItemMaxNum_UNKO=100,BaseCampMaxNum=128,BaseCampWorkerMaxNum=15,DropItemAliveMaxHours=1.000000,bAutoResetGuildNoOnlinePlayers=False,AutoResetGuildTimeNoOnlinePlayers=72.000000,GuildPlayerMaxNum=20,PalEggDefaultHatchingTime=72.000000,WorkSpeedRate=1.000000,bIsMultiplay=False,bIsPvP=False,bCanPickupOtherGuildDeathPenaltyDrop=False,bEnableNonLoginPenalty=True,bEnableFastTravel=True,bIsStartLocationSelectByMap=True,bExistPlayerAfterLogout=False,bEnableDefenseOtherGuildPlayer=False,CoopPlayerMaxNum=4,ServerPlayerMaxNum=**32**,ServerName="**Default Palworld Server**",ServerDescription="",AdminPassword="**12341234**",ServerPassword="",PublicPort=8211,PublicIP="",RCONEnabled=False,RCONPort=25575,Region="",bUseAuth=True,BanListURL="https://api.palworldgame.com/api/banlist.txt")
cat ~/Steam/steamapps/common/PalServer/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
서버 최종 구동
screen
## 게임 디렉토리로 이동 ##
cd ~/Steam/steamapps/common/PalServer
## 게임 구동기 실행 ##
./PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS
ctrl + a + d
screen -r
제작에 참고한 자료들