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

~25 นาทีUbuntu 22.04/24.04 · SteamCMD + GSLT

เปิดเซิฟ CS2 ไว้ซ้อมทีมของตัวเอง

เซิร์ฟซ้อมที่ ping นิ่งทั้งทีม คุม config เองทุกบรรทัด — ตั้งแต่ขอ GSLT ยันรัน 24/7

  1. 01เช่า VPS แล้ว SSH เข้าเครื่อง
  2. 02ขอ GSLT token (app 730)
  3. 03ติดตั้ง SteamCMD
  4. 04โหลดเซิร์ฟเวอร์ CS2
  5. 05สตาร์ทเซิร์ฟพร้อม token
  6. 06เปิดพอร์ต 27015
  7. 07ทำ systemd ให้รัน 24/7

เซิร์ฟซ้อมของทีมควรเป็นของทีม — คุมแมพ คุม config คุมว่าใครเข้าได้ จุดที่ต่างจากเกมอื่นคือ Valve บังคับใช้ GSLT token ผูกเซิร์ฟกับบัญชี Steam จริง ขั้นตอนนั้นอยู่ในไกด์นี้แล้ว ที่เหลือเหมือนเซิร์ฟ Steam ทั่วไป จบใน ~25 นาทีบน VPS

01

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

VPS-02 (2 vCPU / RAM 4 GB / NVMe 60 GB — 350฿/เดือน) สำหรับเซิร์ฟซ้อม 5v5 หนึ่งวง เลือก Ubuntu 22.04 หรือ 24.04 — ไฟล์เซิร์ฟ CS2 ใหญ่ราว ~35 GB ดิสก์ 60 GB จึงพอแบบเหลือที่:

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

ขอ GSLT token (app 730)

เข้า Steam Game Server Account Managementล็อกอินบัญชี Steam ของคุณ (ต้องไม่ limited และผูกเบอร์โทรแล้ว — เงื่อนไขอยู่ในหน้านั้นตามภาพ) ใส่ App ID 730 + memo ชื่อเซิฟ แล้วกด Create — ได้ token มาเก็บไว้ใช้ขั้นที่ 5

หน้า Steam Game Server Account Management สำหรับขอ GSLT token ของเซิฟ CS2 — แสดงเงื่อนไขบัญชีครบ
steamcommunity.com/dev/managegameservers — ขอ GSLT ฟรี (App ID 730)
03

ติดตั้ง SteamCMD

root@bkk:~$ add-apt-repository multiverse && dpkg --add-architecture i386
root@bkk:~$ apt update && apt install -y steamcmd
04

โหลดเซิร์ฟเวอร์ CS2

เซิร์ฟเวอร์ CS2 ใช้ app id เดียวกับตัวเกม (730) โหลดแบบ anonymous ได้ — ไฟล์ ~35 GB บน NVMe ใช้เวลาไม่นาน:

root@bkk:~$ /usr/games/steamcmd +force_install_dir /root/cs2 \
+login anonymous +app_update 730 validate +quit
Success! App '730' fully installed.
05

สตาร์ทเซิร์ฟพร้อม token

root@bkk:~$ cd /root/cs2/game/bin/linuxsteamrt64
root@bkk:~$ ./cs2 -dedicated -port 27015 \
+map de_dust2 +sv_setsteamaccount "GSLT-จากขั้นที่ 2"
SV: Connection to Steam servers successful.

ตั้งรหัสเข้าเซิฟด้วย +sv_password สำหรับซ้อมทีม แล้วเก็บ config ซ้อม (bot_kick, sv_cheats 1, mp_warmup_end ฯลฯ) ไว้ใน game/csgo/cfg/prac.cfg — ในเกมพิมพ์ exec prac ใน console ได้เลย

06

เปิดพอร์ต 27015

root@bkk:~$ ufw allow 27015/tcp && ufw allow 27015/udp
# ทั้งทีมเข้าด้วย connect IP:27015; sv_password ใน console
07

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

เก็บคำสั่งสตาร์ทลง /root/cs2/run.sh (chmod +x) แล้วสร้าง /etc/systemd/system/cs2.service แบบเดียวกับไกด์อื่นของเรา:

[Unit]
Description=CS2 Dedicated Server
After=network.target
[Service]
WorkingDirectory=/root/cs2/game/bin/linuxsteamrt64
ExecStart=/root/cs2/run.sh
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
root@bkk:~$ systemctl enable --now cs2

ทางลัด: LinuxGSM (cs2server)จัดการติดตั้ง/อัปเดต/monitor ให้ครบด้วยคำสั่งเดียว:

หน้า Deploy Counter-Strike 2 Game Servers ของ LinuxGSM
linuxgsm.com/servers/cs2server — ทางลัดโอเพนซอร์ส (MIT)

หลังเปิดเซิร์ฟแล้ว

ปัญหาที่เจอจริงกับเซิร์ฟ CS2 และวิธีแก้

สี่ข้อนี้คือสิ่งที่เจอซ้ำที่สุดหลังเซิร์ฟขึ้นแล้ว — อ่านไว้ก่อนจะประหยัดเวลาได้เป็นชั่วโมง

เซิร์ฟขึ้นแล้วแต่ไม่โผล่ในลิสต์สาธารณะ

สาเหตุ — ไม่ได้ใส่ GSLT token หรือ token ถูกเพิกถอนเพราะเคยผูกกับเซิร์ฟที่โดนรายงาน

วิธีแก้ — ขอ token ใหม่ที่ steamcommunity.com/dev/managegameservers แล้วใส่ผ่าน +sv_setsteamaccount — หนึ่ง token ต่อหนึ่งเซิร์ฟเท่านั้น เอาไปใช้ซ้ำสองเครื่องจะถูกตัดทั้งคู่

เมื่อวานเล่นได้ วันนี้ทุกคนเข้าไม่ได้

สาเหตุ — Valve อัปเดตเกมฝั่งผู้เล่นอัตโนมัติ แต่ไฟล์เซิร์ฟยังเป็น build เก่า

วิธีแก้ — รัน steamcmd +app_update 730 validate +quit ซ้ำ แล้ว restart — ควรตั้งให้รันอัตโนมัติทุกครั้งที่บูตด้วย

แมพ Workshop ไม่โหลดให้ผู้เล่น

สาเหตุ — ใส่เลข id ของแมพเดี่ยวแทนเลข collection ซึ่งเซิร์ฟไม่รู้จัก

วิธีแก้ — สร้าง Collection ใน Workshop รวมแมพที่จะใช้ แล้วใส่เลข collection ผ่าน +host_workshop_collection ผู้เล่นจะโหลดเองตอนเข้า

พอคนครบสิบคนแล้วรู้สึกหน่วง ทั้งที่ RAM ยังเหลือ

สาเหตุ — CS2 กิน CPU แบบเธรดเดียวเป็นหลัก ตัวชี้วัดจึงเป็น CPU ไม่ใช่ RAM

วิธีแก้ — ดู top ตอนที่คนแน่นที่สุด ถ้าคอร์ใดคอร์หนึ่งแตะ 100% ต่อเนื่องคือถึงเพดานแล้ว การเพิ่ม RAM ไม่ช่วยอะไรเลยในกรณีนี้

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

เซิฟ CS2 ใช้สเปกเท่าไหร่

เซิร์ฟซ้อม 5v5 หนึ่งแมตช์กิน ~2 GB และชอบ CPU ที่ clock สูงมากกว่าหลาย core — VPS-02 (2 vCPU / 4 GB) คือจุดเริ่มที่พอดี ถ้ารันหลายเซิร์ฟพร้อมกันค่อยขยับขึ้น

GSLT คืออะไร ทำไมต้องมี

Game Server Login Token — โทเคนที่ Valve บังคับให้เซิร์ฟสาธารณะทุกตัวต้องผูกกับบัญชี Steam จริง ขอฟรีที่หน้า Manage Game Servers (ใส่ App ID 730) บัญชีต้องไม่ limited และผูกเบอร์โทรแล้ว

ตั้งค่าซ้อมทีมแบบ 128 tick ได้ไหม

CS2 ไม่มี tickrate ให้เลือกแล้ว — ใช้ระบบ sub-tick ทั้งหมด สิ่งที่ควรทำสำหรับซ้อมทีมคือโหลด config ซ้อม (เช่น prac.cfg ที่เปิด sv_cheats, bot_kick, grenade practice) แล้ว exec จาก console

ลงแมพ Workshop ยังไง

ขอ Steam Web API key ฟรี แล้วสตาร์ทด้วย -authkey ตามด้วย host_workshop_map <เลขแมพ> — เลขเอามาจากท้าย URL ของหน้าแมพใน Workshop

เปิดเซิร์ฟ CS2 ให้ทีมซ้อมอย่างเดียว ต้องมี GSLT ไหม

ไม่ต้อง ถ้าให้ทีมเข้าตรงด้วย connect IP:27015 ในคอนโซล เซิร์ฟจะทำงานปกติโดยไม่มี token — GSLT จำเป็นเฉพาะตอนที่อยากให้เซิร์ฟโผล่ในลิสต์สาธารณะให้คนนอกหาเจอ ถ้าเป็นเซิร์ฟซ้อมปิดของทีม ข้ามไปได้เลยและปลอดภัยกว่าด้วย เพราะไม่มีคนแปลกหน้าเข้ามา

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

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

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

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