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

~20 นาทีCloud VPS · ตัวเซิร์ฟทางการ · ไม่ผ่าน Steam

เปิดเซิฟ Vintage Story โลกที่เดินตามฤดูจริง

เกมเดียวในลิสต์ที่ไม่ได้อยู่บน Steam — ตัวเซิร์ฟโหลดตรงจากผู้พัฒนา ไฟล์เดียว แตกแล้วรันได้เลย

  1. 01เช่า VPS แล้ว SSH เข้าเครื่อง
  2. 02ลง .NET runtime ให้ตรงรุ่นเกม
  3. 03โหลดตัวเซิร์ฟจาก CDN ทางการ (ไม่ผ่าน Steam)
  4. 04ตั้งค่า serverconfig.json
  5. 05เปิดพอร์ต 42420 แล้วให้เพื่อนเข้า
  6. 06ตั้ง whitelist และแอดมินจากคอนโซล
  7. 07ทำ systemd ให้รัน 24/7 พร้อม backup
  8. 08(เสริม) ลงม็อดจาก ModDB — ผู้เล่นโหลดตามอัตโนมัติ

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

จุดที่ต่างจากไกด์อื่นทั้งหมดในลิสต์นี้: Vintage Story ไม่ได้อยู่บน Steamไม่มี SteamCMD ไม่มี app id — โหลดไฟล์เดียวจากเว็บผู้พัฒนา แตกแล้วรันได้เลย

01

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

VPS-02 (2 vCPU / RAM 4 GB / NVMe 60 GB — 350฿/เดือน) พอดีกับกลุ่ม 5–10 คน เลือก Ubuntu 22.04 หรือ 24.04:

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

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

02

ลง .NET runtime ให้ตรงรุ่นเกม

เกมนี้รันบน .NET และเปลี่ยนรุ่นที่ต้องใช้เป็นระยะ — เช็กว่ารุ่นเกมที่คุณจะลงอยู่ช่วงไหนก่อน แล้วค่อยลง runtime ให้ตรง (สาเหตุอันดับหนึ่งที่สตาร์ทไม่ขึ้นคือลงผิดรุ่น):

  • รุ่นเกม ต่ำกว่า 1.21 → .NET 7
  • รุ่นเกม 1.21 ขึ้นไป → .NET 8
  • รุ่นเกม 1.22 ขึ้นไป → .NET 10
root@bkk:~$ apt install -y aspnetcore-runtime-8.0 # เปลี่ยนเลขให้ตรงตารางด้านบน
root@bkk:~$ dotnet --list-runtimes
Microsoft.AspNetCore.App 8.0.x [/usr/share/dotnet/shared/...]

ถ้า apt หาแพ็กเกจไม่เจอ ให้เพิ่ม repo ของ Microsoft ตามคู่มือของ .NET สำหรับ Ubuntu รุ่นที่ใช้ก่อน แล้วค่อยสั่ง apt install ซ้ำ

03

โหลดตัวเซิร์ฟจาก CDN ทางการ

ไฟล์เซิร์ฟอยู่บน CDN ของผู้พัฒนาตามรูปแบบนี้ — เปลี่ยนเลขเวอร์ชันเป็นรุ่นที่ต้องการ (ดูเลขรุ่นล่าสุดได้จากหน้าดาวน์โหลดในบัญชีของคุณบน vintagestory.at):

root@bkk:~$ useradd -m -s /bin/bash vs && su - vs
vs@bkk:~$ mkdir -p ~/server ~/data && cd ~
vs@bkk:~$ curl -sLO "https://cdn.vintagestory.at/gamefiles/stable/vs_server_linux-x64_1.21.0.tar.gz"
vs@bkk:~$ tar -C server -xzf vs_server_linux-x64_*.tar.gz
vs@bkk:~$ chmod +x ~/server/server.sh
done.

เปิด ~/server/server.sh ขึ้นมาแก้สองบรรทัดบนสุดให้ชี้ user เป็น vsและ data path เป็น /home/vs/data จากนั้นสตาร์ทหนึ่งรอบให้ไฟล์ตั้งค่าเกิดขึ้น:

vs@bkk:~$ ~/server/server.sh start
vs@bkk:~$ ~/server/server.sh stop
vs@bkk:~$ ls ~/data/serverconfig.json
/home/vs/data/serverconfig.json
หน้า Setting up a Multiplayer Server บนวิกิทางการของ Vintage Story
วิกิทางการ — หน้านี้คือแหล่งอ้างอิงของทุกคำสั่งในขั้นนี้
04

ตั้งค่า serverconfig.json

ปิดเซิร์ฟให้สนิทก่อนแก้ทุกครั้ง แล้วแก้ค่าที่สำคัญจริง ๆ ไม่กี่ตัวนี้:

{
"ServerName": "โลกของแก๊งเรา",
"ServerDescription": "เซิร์ฟไทย เล่นยาว",
"Port": 42420,
"MaxClients": 16,
"Password": "รหัสเข้าเซิฟ",
"AdvertiseServer": false, // เซิร์ฟกลุ่มเพื่อน ไม่ต้องขึ้นลิสต์
"OnlyWhitelisted": true,
"WorldConfig": {
"WorldName": "โลกของแก๊งเรา",
"PlayStyle": "surviveandbuild",
"Seed": null
}
}

PlayStyle คือค่าที่ต้องตัดสินใจกันให้จบก่อนสร้างโลกsurviveandbuild คือแนวสมดุลที่คนส่วนใหญ่เล่น ส่วนแนวโหดจริงจังกับแนวสร้างสรรค์ ก็มีให้เลือกแยก เปลี่ยนทีหลังได้ไม่ครบทุกค่า เพราะบางอย่างถูกฝังไว้ตอนสร้างโลก ตกลงกับกลุ่มให้จบก่อนกดสตาร์ทครั้งแรกจะดีที่สุด

ตั้ง AdvertiseServer: false ไว้สำหรับเซิร์ฟกลุ่มเพื่อน แล้วให้เข้าตรงด้วย IP คู่กับ OnlyWhitelisted: true จากขั้นที่ 6 จะกันคนแปลกหน้าได้สองชั้น

05

เปิดพอร์ต 42420 แล้วให้เพื่อนเข้า

root@bkk:~$ ufw allow 42420/tcp
root@bkk:~$ ufw allow 42420/udp
root@bkk:~$ ufw status | grep 42420

ฝั่งผู้เล่น: เปิดเกม → MultiplayerAdd Serverแล้วกรอก IP-ของคุณ:42420 ใส่รหัสถ้าตั้งไว้

เข้าไม่ได้? สาเหตุที่เจอบ่อยที่สุดของเกมนี้คือยังไม่ได้ใส่ชื่อในไวต์ลิสต์(ถ้าเปิด OnlyWhitelisted ไว้) รองลงมาคือเวอร์ชันเกมไม่ตรงกับเซิร์ฟ — ที่เหลือไล่ตามหน้าเพื่อนเข้าเซิร์ฟไม่ได้

06

ตั้ง whitelist และแอดมินจากคอนโซล

ข้อดีอย่างหนึ่งของเกมนี้คือสั่งคำสั่งเข้าเซิร์ฟได้โดยไม่ต้องเข้าเกม — ส่งผ่าน server.sh command จาก SSH ได้เลย:

vs@bkk:~$ ~/server/server.sh command "/whitelist add ชื่อผู้เล่น"
vs@bkk:~$ ~/server/server.sh command "/op ชื่อผู้เล่น"
Player added to whitelist

ใช้ชื่อบัญชีของผู้เล่น ไม่ใช่ชื่อตัวละคร — และควรตั้ง /op ให้อย่างน้อยสองคน เผื่อคนหนึ่งไม่ว่างตอนมีเรื่องต้องจัดการ

07

ทำ systemd ให้รัน 24/7 พร้อม backup

สร้าง /etc/systemd/system/vintagestory.service:

[Unit]
Description=Vintage Story Server
After=network.target
[Service]
User=vs
WorkingDirectory=/home/vs/server
ExecStart=/usr/bin/dotnet /home/vs/server/VintagestoryServer.dll --dataPath /home/vs/data
Restart=always
RestartSec=15
[Install]
WantedBy=multi-user.target
root@bkk:~$ systemctl enable --now vintagestory
root@bkk:~$ journalctl -u vintagestory -f
# backup ตี 4 ทุกวัน เก็บ 7 วันล่าสุด
root@bkk:~$ crontab -e
0 4 * * * tar czf /root/vs-$(date +\%F).tar.gz /home/vs/data/Saves && find /root -name "vs-*.tar.gz" -mtime +7 -delete

เกมนี้เล่นกันยาวเป็นเดือนและโลกโตขึ้นเรื่อย ๆ —ทำ backup ก่อนอัปเดตเวอร์ชันทุกครั้ง เพราะโลกที่สร้างด้วยรุ่นใหม่แล้วมีปัญหา ย้อนกลับไปรุ่นเก่าไม่ได้เสมอไป

08

(เสริม) ลงม็อดจาก ModDB

ม็อดทางการอยู่ที่ mods.vintagestory.atซึ่งผูกกับบัญชีเกมของคุณอยู่แล้ว ไม่ต้องสมัครใหม่ — โหลดไฟล์ zip มาวางในโฟลเดอร์ Modsที่ระบุใน ModPaths ของ serverconfig.json แล้ว restart เซิร์ฟ

ที่ทำให้เกมนี้สบายกว่าหลายเกม: ลงฝั่งเซิร์ฟอย่างเดียวพอ ผู้เล่นจะโหลดม็อดตามอัตโนมัติตอนเชื่อมต่อ ไม่ต้องไล่บอกทีละคนให้ไปโหลดเอง ข้อแม้เดียวคือเวอร์ชันม็อดต้องตรงกับรุ่นเกมที่เซิร์ฟรันอยู่

บนเว็บนี้ยังมีแท็บ Server Tweaks แยกไว้ ซึ่งเป็นม็อดกลุ่มที่ตั้งใจทำมาสำหรับเซิร์ฟโดยเฉพาะ (จูนเรท จัดการที่ดิน กันของหาย) — เป็นที่แรกที่ควรดูก่อนไปเจอม็อดใหญ่ ๆ ที่เปลี่ยนเกมทั้งระบบ

VS ModDB — ที่รวมม็อดทางการของ Vintage Story พร้อมแท็บ Server Tweaks สำหรับเซิร์ฟ
mods.vintagestory.at — ผูกกับบัญชีเกมอยู่แล้ว ไม่ต้องสมัครเพิ่ม และมีแท็บ Server Tweaks แยกสำหรับคนเปิดเซิร์ฟ

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

ทำไมไม่โหลดตัวเซิร์ฟจาก Steam

เพราะ Vintage Story ไม่ได้ขายบน Steam ผู้พัฒนาขายเองบนเว็บของเขา ตัวเซิร์ฟจึงโหลดเป็นไฟล์ tar.gz ตรงจาก CDN ของเขาแทน ซึ่งในทางปฏิบัติง่ายกว่า SteamCMD ด้วยซ้ำ เพราะเป็นไฟล์เดียว แตกแล้วรันได้เลย ไม่ต้องลงเครื่องมืออะไรเพิ่ม

ต้องซื้อเกมกี่ชุดถึงจะเปิดเซิร์ฟได้

ตัวเซิร์ฟแจกฟรี ไม่ต้องซื้อเพิ่มสำหรับเครื่องเซิร์ฟ แต่ผู้เล่นทุกคนที่จะเข้ามาต้องมีบัญชีที่ซื้อเกมแล้ว เพราะเซิร์ฟจะตรวจสิทธิ์กับระบบบัญชีของผู้พัฒนาตอนเชื่อมต่อ

Vintage Story ใช้สเปกเท่าไหร่

คิดแบบเดียวกับ Minecraft ตัวแปรจริงคือจำนวน chunk ที่ต้องโหลดค้างไว้ ไม่ใช่จำนวนคน กลุ่ม 5 คนที่แยกกันไปตั้งฐานคนละทิศกินแรงกว่ากลุ่ม 10 คนที่อยู่ฐานเดียวกันมาก 3–4 GB เริ่มได้สบายสำหรับกลุ่มเพื่อน

ม็อดต้องให้ผู้เล่นลงเองไหม

ไม่ต้อง ลงฝั่งเซิร์ฟอย่างเดียวแล้วเกมจะให้ผู้เล่นโหลดตามอัตโนมัติตอนเชื่อมต่อ ข้อแม้คือเวอร์ชันเกมกับเวอร์ชันม็อดต้องตรงกัน ซึ่งเป็นข้อดีใหญ่เวลาเปิดเซิร์ฟกับเพื่อนที่ไม่ถนัดเรื่องเทคนิค

ทำไมสตาร์ทแล้วขึ้น error เรื่อง dotnet

เพราะเวอร์ชัน .NET ที่ลงไว้ไม่ตรงกับรุ่นเกม เกมเปลี่ยนรุ่น .NET ที่ต้องใช้เป็นระยะ ให้เช็กรุ่นเกมที่โหลดมาก่อนแล้วลง runtime ให้ตรง ตามตารางในขั้นที่ 2

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

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

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

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