Skip to content

Instantly share code, notes, and snippets.

@dbwodlf3
Last active February 1, 2024 12:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dbwodlf3/b42f9404d24d48255bc6ef240b99eec4 to your computer and use it in GitHub Desktop.
Save dbwodlf3/b42f9404d24d48255bc6ef240b99eec4 to your computer and use it in GitHub Desktop.
Palworld update banlist from gist

사용법

Linux 기반으로 작성되어 있습니다.

curl -o https://gist.github.com/dbwodlf3/b42f9404d24d48255bc6ef240b99eec4/raw/update_banlist.sh
chmod +x ./update_banlist.sh

위의 명령어를 통해서, shell script 파일을 다운로드 받아주세요. 그 다음에 update_banlist.sh 파일안의 BASE_URL="/Pal/Saved/SaveGames" 값을 설정 해 주세요. (banlist 파일이 저장되는 절대경로)

crontab -e

*/10 * * * * /home/some_user/server-guide/crontab/scripts/update_banlist.sh

crontab 명령어를 통해서, 10분마다 해당 shell script 가 실행되도록 설정할 수 있습니다. 수동적으로 추가로 밴을 할려면, 같은경로의 banlist.add.txt 에 추가해줘야합니다.

inbash

curl -o https://gist.github.com/dbwodlf3/b42f9404d24d48255bc6ef240b99eec4/raw/update_banlist.sh
sed -i "s|BASE_URL=\".*\"|BASE_URL=\"~/Pal/Saved/SaveGames\"|" update_banlist.sh
chmod +x ./update_banlist.sh

crontab -e
*/10 * * * * /home/some_user/server-guide/crontab/scripts/update_banlist.sh
steam_76561197998896427
steam_76561198300315915
steam_76561198842051495
steam_76561198062034644
steam_76561198439931286
steam_76561198429830992
steam_76561199286595126
steam_76561198416324936
steam_76561195549540434
steam_76561199016564421
#!/bin/bash
# 저장할 파일 경로
BASE_URL="/home/palworld-server/palworld-server-docker/palworld/Pal/Saved/SaveGames"
BAN_LIST="$BASE_URL/banlist.txt"
ADDITIONAL_BANLIST_FILE="$BASE_URL/banlist.add.txt"
BEFORE_HASH_ADDITIONAL_BANLIST_FILE="$BASE_URL/banlist.add.hash.txt"
# 임시 파일 경로
TEMP_FILE1="$BASE_URL/banlist.temp1.txt"
TEMP_FILE2="$BASE_URL/banlist.temp2.txt"
# 데이터를 가져올 URL
URL="https://gist.github.com/seogo11/324078be81d22d0d27a894f9cd2c8094/raw/banlist.txt"
# IF Need to Init?
if [ ! -f "$TEMP_FILE1" ]; then
curl -f -o "$TEMP_FILE1" "$URL"
fi
# URL에서 데이터를 가져와 임시 파일에 저장
curl -L -o "$TEMP_FILE2" "$URL"
# 임시 파일과 기존 파일의 해시를 계산
HASH_TEMP=$(md5sum "$TEMP_FILE2" | awk '{print $1}')
HASH_ORIG=$(md5sum "$TEMP_FILE1" | awk '{print $1}')
# 해시 비교
if [ "$HASH_TEMP" = "$HASH_ORIG" ]; then
echo "새로운 banlist가 기존과 동일합니다. 업데이트가 필요 없습니다."
else
# 새로운 banlist가 있고 기존의 것과 다르면 기존 리스트에 추가
cat "$TEMP_FILE2" > "$TEMP_FILE1"
cat "$TEMP_FILE2" > "$BAN_LIST"
cat "$ADDITIONAL_BANLIST_FILE" >> "$BAN_LIST"
echo "banlist가 업데이트 되었습니다."
fi
# 추가 파일과 기존 파일의 해시를 계산
HASH_ADD=$(md5sum "$ADDITIONAL_BANLIST_FILE" | awk '{print $1}')
HASH_BEFORE_ADD=$(cat "$BEFORE_HASH_ADDITIONAL_BANLIST_FILE")
# 해시 비교
if [ "$HASH_ADD" = "$HASH_BEFORE_ADD" ]; then
echo "새로운 ADD banlist가 기존과 동일합니다. 업데이트가 필요 없습니다."
else
# 새로운 banlist가 있고 기존의 것과 다르면 기존 리스트에 추가
cat "$TEMP_FILE2" > "$TEMP_FILE1"
cat "$TEMP_FILE2" > "$BAN_LIST"
cat "$ADDITIONAL_BANLIST_FILE" >> "$BAN_LIST"
echo "$HASH_ADD" > "$BEFORE_HASH_ADDITIONAL_BANLIST_FILE"
echo "banlist가 업데이트 되었습니다."
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment