ข้ามไปเนื้อหาหลัก

~20 นาทีCloud VPS · เข้าด้วย Game ID · ไม่ต้องเปิดพอร์ต

เปิดเซิฟ Core Keeper ขุดต่อได้แม้ไม่มีใครออนไลน์

เกมเดียวในลิสต์ที่เพื่อนเข้าเซิร์ฟด้วยรหัสสตริงแทน IP — ชวนคนง่ายที่สุด แต่มีขั้นตอน Linux หนึ่งข้อที่ข้ามไม่ได้

  1. 01เช่า VPS แล้ว SSH เข้าเครื่อง
  2. 02ลง xvfb — ขั้นที่คนข้ามแล้วเซิร์ฟไม่ยอมขึ้น
  3. 03ลง SteamCMD แล้วโหลด app 1963720
  4. 04ตั้งชื่อโลกและล็อก Game ID ของตัวเอง
  5. 05สตาร์ทผ่าน xvfb-run แล้วอ่าน GameID.txt
  6. 06ชวนเพื่อนด้วย Game ID (ไม่ต้องใช้ IP)
  7. 07ทำ systemd ให้รัน 24/7
  8. 08ย้ายโลกเดิมและตั้ง backup

Core Keeper ทำสิ่งที่ไม่มีเกมไหนในลิสต์เราทำ — ไม่ให้เข้าเซิร์ฟด้วย IPแต่ให้เข้าด้วย Game ID ซึ่งเป็นรหัสสตริงยาว ๆ ก้อนเดียว แปลว่าเวลาชวนเพื่อน คุณส่งข้อความไปหนึ่งบรรทัด เขาก๊อปวางแล้วเข้าได้เลย ไม่ต้องอธิบายเรื่องพอร์ต ไม่ต้องกลัวใครพิมพ์ IP ผิด และไม่ต้องเปิดพอร์ตอะไรบนเครื่องด้วยซ้ำ

แลกกับความสะดวกนั้น เกมนี้มีขั้นตอนฝั่ง Linux หนึ่งข้อที่แปลกและข้ามไม่ได้เด็ดขาด — อยู่ในขั้นที่ 2 อ่านให้จบก่อนสตาร์ท

01

เช่า VPS แล้ว SSH เข้าเครื่อง

VPS-01 (1 vCPU / RAM 3 GB / NVMe 30 GB — 250฿/เดือน) เหลือ ๆ สำหรับกลุ่ม 8 คน เพราะเกมนี้เบามาก เลือก Ubuntu 22.04 หรือ 24.04:

$ ssh root@IP-ของคุณ
root@bkk:~$ apt update && apt upgrade -y

ยังไม่คุ้นกับ SSH? อ่านพื้นฐาน VPSก่อนได้ — อธิบายทุกคำสั่งที่ใช้ซ้ำในไกด์ฝั่ง VPS ทั้งหมด

02

ลง xvfb — ขั้นที่ข้ามไม่ได้

อ่านก่อน: ตัวเซิร์ฟ Core Keeper สร้างด้วย Unity และยังขอจอแสดงผลแม้จะรันแบบไม่มีจอถ้าสตาร์ทบน VPS เปล่า ๆ มันจะดับทันทีพร้อม error เรื่อง display แล้วหลายคนเข้าใจผิดว่าไฟล์เสีย ทางแก้คือลง xvfb ซึ่งเป็นจอเสมือน แล้วสตาร์ทเกมผ่านมัน

root@bkk:~$ apt install -y xvfb libxi6 ca-certificates curl
root@bkk:~$ dpkg --add-architecture i386 && apt update
root@bkk:~$ apt install -y lib32gcc-s1
done.
03

ลง SteamCMD แล้วโหลด app 1963720

1963720 คือแอป Core Keeper Dedicated Server ซึ่งเป็นคนละแอปกับตัวเกม (1621690) และต้องโหลด Steamworks SDK Redistributable (app 1007) มาด้วย ไม่งั้นเซิร์ฟจะหา library ไม่เจอ:

root@bkk:~$ useradd -m -s /bin/bash ck && su - ck
ck@bkk:~$ mkdir -p ~/steamcmd ~/server && cd ~/steamcmd
ck@bkk:~$ curl -sL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxf -
ck@bkk:~$ ./steamcmd.sh +force_install_dir /home/ck/server \
+login anonymous +app_update 1007 validate +app_update 1963720 validate +quit
Success! App '1963720' fully installed.
หน้าร้านค้า Steam ของ Core Keeper ที่มาของเลข app id ที่ใช้กับ SteamCMD
หน้า Steam ของ Core Keeper — ตัวเกมคนละ app id กับตัวเซิร์ฟ (1963720)
04

ตั้งชื่อโลกและล็อก Game ID ของตัวเอง

ถ้าไม่กำหนดอะไรเลย ระบบจะสุ่ม Game ID ให้ใหม่ — แปลว่าวันไหนคุณลงเซิร์ฟใหม่หรือย้ายเครื่องทุกคนต้องมารับรหัสใหม่กันหมด กำหนดเองไว้ตั้งแต่แรกจะได้ใช้รหัสเดิมไปตลอด

กติกาของรหัส: ยาวอย่างน้อย 28 ตัวอักษร เป็นตัวเลขและตัวอักษรเท่านั้น และห้ามมี Y, y, x, 0 และ O (เพราะอ่านสับสนกับตัวอื่นเวลาพิมพ์ตาม)

ck@bkk:~$ cd ~/server && nano _launch.sh
# แก้บรรทัดพารามิเตอร์ให้เป็นแบบนี้
-world 0 \
-worldname "ถ้ำแก๊งเรา" \
-gameid "gangbkk1234567890abcdefghijk" \
-maxplayers 8 \
-datapath "/home/ck/server/save"

-world 0 คือหมายเลขช่องเซฟ ถ้าอยากเปิดโลกที่สองบนเครื่องเดียวกันในอนาคต ก็ใช้ -world 1 กับ Game ID คนละอันได้เลย

05

สตาร์ทผ่าน xvfb-run แล้วอ่าน GameID.txt

ck@bkk:~$ cd ~/server && chmod +x _launch.sh
ck@bkk:~$ xvfb-run -a ./_launch.sh
Server started. World: ถ้ำแก๊งเรา

xvfb-run -a คือส่วนที่สร้างจอเสมือนให้ตามที่อธิบายไว้ในขั้นที่ 2 — ถ้าเรียก ./_launch.sh ตรง ๆ โดยไม่มีมัน เซิร์ฟจะดับทันที

รหัสที่ต้องเอาไปแจกอยู่ในไฟล์นี้:

ck@bkk:~$ cat ~/server/GameID.txt
gangbkk1234567890abcdefghijk
06

ชวนเพื่อนด้วย Game ID

ส่งรหัสจาก GameID.txt ไปในกลุ่ม แล้วบอกให้ทำสามขั้น: เปิดเกม → Join Game → วางรหัสลงช่อง แล้วกดเข้า จบ

สังเกตว่าไกด์นี้ไม่มีขั้นเปิดพอร์ตเลย — ต่างจากทุกเกมฝั่ง VPS ในลิสต์เรา เพราะการเชื่อมต่อของ Core Keeper วิ่งผ่านระบบของ Steam ไม่ได้ต่อเข้า IP เครื่องคุณโดยตรง ผลพลอยได้คือไม่มีใครรู้ IP เซิร์ฟคุณ ซึ่งปลอดภัยกว่าเกมที่ต้องแจก IP กันตรง ๆ

เข้าไม่ได้ทั้งที่รหัสถูก? สาเหตุที่เจอบ่อยที่สุดของเกมนี้คือเวอร์ชันเกมไม่ตรงกันเพราะ Steam อัปเดตเครื่องผู้เล่นให้เอง แต่เซิร์ฟไม่อัปจนกว่าคุณจะสั่ง SteamCMD ใหม่ — ที่เหลือไล่ตามหน้าเพื่อนเข้าเซิร์ฟไม่ได้

หน้า Steam ของ Core Keeper — เกมขุดเหมืองแบบร่วมมือกัน 1–8 คน
Core Keeper บน Steam — ตัวเกมออกแบบมาสำหรับ 1–8 คนในโลกเดียว ซึ่งเป็นตัวเลขที่ควรตั้ง maxplayers ตาม
07

ทำ systemd ให้รัน 24/7

สร้าง /etc/systemd/system/corekeeper.service — สังเกตว่า ExecStart ต้องเรียกผ่าน xvfb-run เหมือนเดิม:

[Unit]
Description=Core Keeper Dedicated Server
After=network.target
[Service]
User=ck
WorkingDirectory=/home/ck/server
ExecStart=/usr/bin/xvfb-run -a /home/ck/server/_launch.sh
Restart=always
RestartSec=15
[Install]
WantedBy=multi-user.target
root@bkk:~$ systemctl enable --now corekeeper
root@bkk:~$ journalctl -u corekeeper -f
08

ย้ายโลกเดิมและตั้ง backup

ย้ายโลกที่เล่นค้างไว้ — ปิดเซิร์ฟก่อนทุกครั้ง แล้วก๊อปโฟลเดอร์เซฟจากเครื่องคุณ ขึ้นไปวางในโฟลเดอร์ที่ชี้ไว้ด้วย -datapath จากขั้นที่ 4:

root@bkk:~$ systemctl stop corekeeper
$ scp -r ./my-world root@IP-ของคุณ:/home/ck/server/save/
# เซฟบนเครื่องคุณอยู่ที่ %USERPROFILE%\AppData\LocalLow\Pugstorm\Core Keeper (Windows)
root@bkk:~$ chown -R ck:ck /home/ck/server/save && systemctl start corekeeper

backup รายวัน — เกมนี้ไม่มีระบบ backup ในตัว และถ้ำที่ขุดกันมาเป็นเดือนหายไปเพราะไฟล์เสียคือฝันร้าย ตั้ง cron ไว้ตัวเดียวจบ:

root@bkk:~$ crontab -e
# backup ตี 4 ทุกวัน เก็บ 7 วันล่าสุด
0 4 * * * tar czf /root/ck-$(date +\%F).tar.gz /home/ck/server/save && find /root -name "ck-*.tar.gz" -mtime +7 -delete

อยากได้วิธี backup ที่ละเอียดกว่านี้ รวมถึงการดึงไฟล์ลงมาเก็บนอกเครื่อง อ่านพื้นฐาน VPS หัวข้อ backup อัตโนมัติ

คำถามที่เจอบ่อย

เข้าเซิร์ฟยังไง ในเกมไม่มีช่องกรอก IP

ถูกแล้ว Core Keeper ไม่ใช้ IP — เกมนี้ใช้ Game ID ซึ่งเป็นสตริงยาวอย่างน้อย 28 ตัวอักษรแทน ผู้เล่นเลือก Join Game แล้ววาง Game ID ลงไป ระบบของเกมจะหาเซิร์ฟให้เอง ไม่ต้องรู้ IP ไม่ต้องรู้พอร์ต และไม่ต้องเปิดพอร์ตอะไรบนเครื่องเลย

ทำไมต้องลง xvfb ทั้งที่รันเป็นเซิร์ฟ

เพราะตัวเซิร์ฟสร้างด้วย Unity และยังขอจอเสมือนแม้จะรันแบบ headless คำสั่ง xvfb-run จะสร้างจอปลอมขึ้นมาให้ ถ้าไม่ลงแพ็กเกจนี้ก่อน เซิร์ฟจะปิดตัวเองทันทีที่สตาร์ทและขึ้น error เรื่อง display ซึ่งเป็นปัญหาอันดับหนึ่งของเกมนี้บน Linux

Core Keeper ใช้สเปกเท่าไหร่

เบามาก 2–3 GB พอสำหรับกลุ่มเพื่อน เพราะเป็นเกมกริดมุมบน ฝั่งเซิร์ฟไม่ต้องเรนเดอร์ภาพอะไรเลย สิ่งที่กินเพิ่มขึ้นเรื่อย ๆ คือขนาดของถ้ำที่ขุดเปิดไปแล้ว ไม่ใช่จำนวนคน

ตั้ง Game ID เองได้ไหม หรือระบบสุ่มให้

ตั้งเองได้และควรตั้ง — ถ้าไม่ระบุ ระบบจะสุ่มให้ใหม่ ซึ่งแปลว่าถ้าวันหนึ่งคุณลงเซิร์ฟใหม่ ทุกคนต้องมารับรหัสใหม่กันหมด กำหนดเองไว้เลยจะได้ใช้รหัสเดิมตลอด ข้อกำหนดคือยาวอย่างน้อย 28 ตัว เป็นตัวเลขและตัวอักษร และห้ามมี Y, y, x, 0 กับ O เพราะสับสนกับตัวอื่นง่าย

เล่นพร้อมกันได้กี่คน

ตัวเกมออกแบบมาสำหรับ 1–8 คนในโลกเดียว ซึ่งเป็นตัวเลขที่เนื้อหาและบอสสมดุลไว้ ตัวเซิร์ฟรับค่ามากกว่านั้นได้ แต่เกินแปดคนแล้วของในถ้ำจะไม่พอแบ่งกันจนเริ่มไม่สนุก

พร้อมสั่งแล้ว? ดูสเปก VPS ที่เหมาะกับ Core Keeper

หรือกลับไปดูไกด์ทั้งหมด 34 หน้า

เซิร์ฟแลค = ย้ายเครื่องแรงกว่าให้ฟรีเริ่ม 150฿/เดือน · ดาต้าเซ็นเตอร์กรุงเทพ ping 5–20 ms

เปิดเซิร์ฟเลย