คู่มือนี้ครอบคลุมวิธีการตั้งค่าเซิร์ฟเวอร์เฉพาะ Foundry ของคุณบน Legion Hosting การกำหนดค่าตัวแปรเริ่มต้น (startup variables) การแก้ไขไฟล์การตั้งค่าเซิร์ฟเวอร์ การตั้งค่าการสร้างโลก การเชื่อมต่อกับเซิร์ฟเวอร์ของคุณ และการจัดการเซฟและการสำรองข้อมูล Foundry เป็นเกมสร้างโรงงานแบบ voxel ที่ผู้เล่นขุดทรัพยากร สร้างสายการผลิตอัตโนมัติ และขยายโรงงานขนาดใหญ่ไปทั่วโลกที่ถูกสร้างขึ้นแบบ procedural สำหรับการควบคุมแอดมิน การจัดการผู้เล่น และการแก้ไขปัญหา ดูได้ที่ Foundry Admin and Server Management
1. การเริ่มต้นครั้งแรก
- เข้าสู่ระบบ GPanel และเลือกเซิร์ฟเวอร์ Foundry ของคุณ
- ไปที่แท็บ Startup และตรวจสอบตัวแปรที่กำหนดค่าได้ (ดูตารางในส่วนที่ 2)
- ตั้งค่า SERVER_NAME เป็นชื่อสำหรับเซิร์ฟเวอร์ของคุณ ชื่อนี้จะปรากฏในเบราว์เซอร์เซิร์ฟเวอร์ของ Steam
- ตั้งค่า SRV_PW หากคุณต้องการจำกัดการเข้าถึง ปล่อยว่างไว้สำหรับเซิร์ฟเวอร์สาธารณะ
- ตั้งค่า MAP_SEED เพื่อควบคุมการสร้างโลก (ไม่บังคับ) ปล่อยว่างไว้เพื่อให้ได้ seed แบบสุ่ม
- กลับไปที่แท็บ Console แล้วคลิก Start
- รอให้คอนโซลยืนยันว่าเซิร์ฟเวอร์ได้เริ่มทำงานแล้ว การเปิดใช้งานครั้งแรกอาจใช้เวลาสองสามนาทีในขณะที่เซิร์ฟเวอร์สร้างโลกและสร้างไฟล์การตั้งค่าเริ่มต้น
App.cfg หรือไฟล์การตั้งค่าอื่น ๆ ให้เริ่มเซิร์ฟเวอร์หนึ่งครั้ง ปล่อยให้โหลดเสร็จ จากนั้นหยุดเซิร์ฟเวอร์ก่อนแก้ไข ไฟล์เหล่านี้จะยังไม่มีอยู่จนกว่าจะรันครั้งแรก
2. ตัวแปรเริ่มต้นของ GPanel
ตัวแปรต่อไปนี้มีอยู่ในแท็บ Startup ของ GPanel ตัวแปรเหล่านี้จะถูกส่งไปยังเซิร์ฟเวอร์ในแต่ละครั้งที่เริ่มทำงาน
| ตัวแปร | จำเป็น | คำอธิบาย |
|---|---|---|
SERVER_NAME |
ใช่ | ชื่อที่แสดงในเบราว์เซอร์เซิร์ฟเวอร์ของ Steam |
SRV_PW |
ไม่ | รหัสผ่านเสริมที่ผู้เล่นต้องป้อนเพื่อเข้าร่วม ปล่อยว่างไว้สำหรับเซิร์ฟเวอร์สาธารณะ |
MAX_PLAYERS |
ไม่ | จำนวนผู้เล่นพร้อมกันสูงสุด ค่าเริ่มต้นคือ 32 |
MAP_SEED |
ไม่ | หมายเลข seed สำหรับการสร้างโลก ใช้ seed เดียวกันเพื่อสร้างภูมิประเทศที่เหมือนกันขึ้นมาใหม่ ปล่อยว่างไว้สำหรับโลกแบบสุ่ม |
WORLD_NAME |
ไม่ | ชื่อของโฟลเดอร์โลก/เซฟ ค่าเริ่มต้นคือ MyFoundry การเปลี่ยนค่านี้จะสร้างโลกใหม่ |
PUBLIC_SERVER |
ไม่ | กำหนดว่าเซิร์ฟเวอร์จะปรากฏในเบราว์เซอร์เซิร์ฟเวอร์ของ Steam หรือไม่ ตั้งค่าเป็น true หรือ false ค่าเริ่มต้นคือ true |
3. ไฟล์การตั้งค่าเซิร์ฟเวอร์
สำหรับการตั้งค่าขั้นสูงนอกเหนือจากที่ตัวแปรเริ่มต้นมีให้ คุณสามารถแก้ไขไฟล์การตั้งค่าเซิร์ฟเวอร์ได้โดยตรง หยุดเซิร์ฟเวอร์ของคุณก่อนทำการเปลี่ยนแปลง
ตำแหน่งไฟล์
App.cfg
เปิดไฟล์นี้โดยใช้แท็บ Files ใน GPanel หรือเชื่อมต่อผ่าน SFTP ไฟล์นี้ใช้รูปแบบ key=value แบบง่าย โดยมีหนึ่งการตั้งค่าต่อหนึ่งบรรทัด หากไฟล์ไม่มีอยู่ ให้เริ่มและหยุดเซิร์ฟเวอร์หนึ่งครั้งเพื่อสร้างไฟล์นี้
App.cfg เมื่อเริ่มทำงาน การเปลี่ยนแปลงที่ทำในขณะที่เซิร์ฟเวอร์กำลังทำงานจะไม่มีผลจนกว่าจะรีสตาร์ทครั้งถัดไป
การตั้งค่าสำคัญใน App.cfg
| การตั้งค่า | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|
server_name |
My Server |
ชื่อเซิร์ฟเวอร์ที่แสดงในเบราว์เซอร์เซิร์ฟเวอร์ของ Steam |
server_password |
(ว่าง) | รหัสผ่านที่จำเป็นต้องใช้เพื่อเข้าร่วมเซิร์ฟเวอร์ ค่าว่างหมายถึงสาธารณะ |
server_world_name |
MyFoundry |
ชื่อโฟลเดอร์โลก/เซฟ แต่ละชื่อที่ไม่ซ้ำกันจะสร้างโลกแยกต่างหากพร้อมข้อมูลเซฟของตัวเอง |
server_max_players |
32 |
จำนวนผู้เล่นพร้อมกันสูงสุดที่อนุญาตบนเซิร์ฟเวอร์ |
server_is_public |
true |
ควบคุมว่าเซิร์ฟเวอร์จะถูกแสดงในเบราว์เซอร์เซิร์ฟเวอร์ของ Steam หรือไม่ |
server_port |
3724 |
พอร์ตเกม พอร์ตนี้จัดการโดย GPanel -- อย่าเปลี่ยนเว้นแต่จะได้รับคำแนะนำจากฝ่ายสนับสนุน |
server_query_port |
27015 |
พอร์ต query ของ Steam ที่ใช้สำหรับการแสดงรายการในเบราว์เซอร์เซิร์ฟเวอร์ จัดการโดย GPanel |
map_seed |
(สุ่ม) | หมายเลข seed สำหรับการสร้างโลกแบบ procedural ใช้ค่าจำนวนเต็มใด ๆ ก็ได้ seed เดียวกันจะสร้างผังภูมิประเทศแบบเดียวกันเสมอ |
autosave_interval |
300 |
ช่วงเวลาบันทึกอัตโนมัติเป็นวินาที ค่าเริ่มต้นคือ 300 (5 นาที) ตั้งค่าเป็น 0 เพื่อปิดการบันทึกอัตโนมัติ |
pause_server_when_empty |
true |
หยุดโลกของเกมชั่วคราวเมื่อไม่มีผู้เล่นเชื่อมต่ออยู่ ตั้งค่าเป็น false เพื่อให้โรงงานทำงานตลอด 24/7 |
ตัวอย่างการตั้งค่า
server_name=My Legion Factory
server_password=
server_world_name=MyFoundry
server_max_players=16
server_is_public=true
server_port=3724
server_query_port=27015
map_seed=48293175
autosave_interval=300
pause_server_when_empty=true
server_port และ server_query_port ถูกกำหนดโดย GPanel และต้องตรงกับพอร์ตที่จัดสรรให้คุณ การเปลี่ยนแปลงค่าเหล่านี้จะทำให้ผู้เล่นไม่สามารถเชื่อมต่อได้และเซิร์ฟเวอร์จะไม่ปรากฏในเบราว์เซอร์
4. การสร้างโลก
Foundry ใช้การสร้างโลกแบบ procedural เพื่อสร้างภูมิประเทศ voxel โลกถูกสร้างขึ้นจากหมายเลข seed ซึ่งกำหนดผังของภูมิประเทศ แหล่งแร่ และไบโอม
Map Seed
- ตั้งค่า
map_seedในApp.cfgหรือตัวแปรเริ่มต้นMAP_SEEDเป็นค่าจำนวนเต็มใด ๆ - การใช้ seed เดียวกันจะสร้างผังโลกแบบเดียวกันเสมอ ซึ่งมีประโยชน์หากคุณต้องการแบ่งปันโลกเฉพาะกับผู้อื่นหรือสร้างโลกขึ้นมาใหม่หลังจากการรีเซ็ต
- ปล่อย seed ว่างไว้หรือไม่ระบุเลยเพื่อให้เซิร์ฟเวอร์สร้างโลกแบบสุ่ม
- seed มีผลเฉพาะกับการสร้างโลกครั้งแรกเท่านั้น การเปลี่ยน seed ในโลกที่มีอยู่จะไม่มีผล -- คุณต้องสร้างโลกใหม่ (เปลี่ยน
server_world_name) เพื่อให้ seed ใหม่มีผล
ชื่อโลกและหลายโลก
การตั้งค่า server_world_name กำหนดว่าเซิร์ฟเวอร์จะใช้โฟลเดอร์เซฟใด คุณสามารถดูแลหลายโลกได้โดยการสลับระหว่างชื่อโลกต่าง ๆ:
- แต่ละ
server_world_nameที่ไม่ซ้ำกันจะสร้างโลกแยกต่างหากพร้อมข้อมูลเซฟ สถานะโรงงาน และความก้าวหน้าของผู้เล่นของตัวเอง - หากต้องการสลับโลก ให้หยุดเซิร์ฟเวอร์ เปลี่ยน
server_world_nameในApp.cfgและรีสตาร์ท - โลกก่อนหน้าจะถูกเก็บรักษาไว้และสามารถโหลดอีกครั้งได้โดยการสลับกลับไปใช้ชื่อของมัน
หยุดชั่วคราวเมื่อว่าง
ตัวเลือก pause_server_when_empty ควบคุมว่าโรงงานของคุณจะทำงานต่อไปหรือไม่เมื่อไม่มีผู้เล่นออนไลน์:
- true (ค่าเริ่มต้น) -- โลกจะหยุดชั่วคราวเมื่อผู้เล่นทั้งหมดตัดการเชื่อมต่อ โรงงานหยุดผลิต ทรัพยากรหยุดถูกใช้ ดีสำหรับการประหยัดทรัพยากรเซิร์ฟเวอร์และทำให้สถานะของเกมคาดเดาได้
- false -- โรงงานทำงานต่อไปตลอด 24/7 สายการผลิตยังคงดำเนินต่อไป ทรัพยากรสะสมเพิ่มขึ้น และโลกก้าวหน้าต่อไปแม้ไม่มีใครเล่น อาจเพิ่มการใช้ทรัพยากรเซิร์ฟเวอร์
5. วิธีการเชื่อมต่อ
ตัวเลือก A -- เบราว์เซอร์เซิร์ฟเวอร์ของ Steam
- เปิด Foundry
- จากเมนูหลัก เลือก Multiplayer
- คลิก Join Game เพื่อเปิดเบราว์เซอร์เซิร์ฟเวอร์
- ใช้แถบค้นหาเพื่อหาเซิร์ฟเวอร์ของคุณตามชื่อ
- เลือกเซิร์ฟเวอร์ของคุณและคลิก Join ป้อนรหัสผ่านเซิร์ฟเวอร์หากมีการตั้งค่าไว้
ตัวเลือก B -- Direct Connect
- เปิด Foundry
- จากเมนูหลัก เลือก Multiplayer
- เลือกตัวเลือก Direct Connect
- ป้อนที่อยู่ IP และพอร์ตของเซิร์ฟเวอร์ของคุณจากแท็บ Network ของ GPanel:
<your-server-ip>:<port> - ป้อนรหัสผ่านเซิร์ฟเวอร์หากได้รับแจ้งและคลิก Connect
6. การจัดการเซฟ
การบันทึกอัตโนมัติ
เซิร์ฟเวอร์จะบันทึกอัตโนมัติตามช่วงเวลาที่กำหนดโดย autosave_interval ใน App.cfg (ค่าเริ่มต้น: ทุก 300 วินาที / 5 นาที) การบันทึกอัตโนมัติของ Foundry ไม่รบกวนและไม่ทำให้เกิดแลกที่สังเกตได้สำหรับขนาดโรงงานส่วนใหญ่
ตำแหน่งไฟล์เซฟ
ไฟล์เซฟถูกจัดเก็บบนเซิร์ฟเวอร์ที่พาธที่ระบุโดย server_persistent_data_override_folder ใน App.cfg พาธเริ่มต้นคือ:
serverfiles/
ไดเรกทอรีนี้มีสถานะโลกทั้งหมด รวมถึงการปรับเปลี่ยนภูมิประเทศ โครงสร้างที่วางไว้ เครื่องจักรของโรงงาน สายพานลำเลียง และคลังของผู้เล่น
การสำรองข้อมูลด้วยตนเองผ่าน SFTP
- หยุดเซิร์ฟเวอร์จาก GPanel เพื่อให้แน่ใจว่าข้อมูลทั้งหมดถูกเขียนลงดิสก์
- เชื่อมต่อกับเซิร์ฟเวอร์ของคุณผ่าน SFTP ดูคำแนะนำได้ที่ How to Upload Files via SFTP
- ดาวน์โหลดไดเรกทอรีเซฟทั้งหมดสำหรับโลกของคุณ (เช่น
serverfiles/) - เก็บข้อมูลสำรองไว้ในที่ปลอดภัยบนคอมพิวเตอร์ของคุณ
การกู้คืนเซฟ
- หยุดเซิร์ฟเวอร์จาก GPanel
- เชื่อมต่อผ่าน SFTP และไปที่ไดเรกทอรี
serverfiles/ - อัปโหลดไดเรกทอรีโลกที่สำรองไว้ของคุณ แทนที่ไดเรกทอรีที่มีอยู่
- ตรวจสอบว่าชื่อโฟลเดอร์ตรงกับ
server_world_nameในApp.cfg - เริ่มเซิร์ฟเวอร์จาก GPanel เซิร์ฟเวอร์จะโหลดเซฟที่กู้คืนมา
7. เคล็ดลับด้านประสิทธิภาพ
Foundry เป็นเกมสร้างโรงงาน และประสิทธิภาพของเซิร์ฟเวอร์ได้รับผลกระทบโดยตรงจากความซับซ้อนของโรงงาน จดจำเคล็ดลับเหล่านี้ไว้เมื่อโรงงานของคุณเติบโตขึ้น:
- ความซับซ้อนของโรงงาน: เครื่องจักร สายพานลำเลียง และเครือข่ายลอจิสติกส์จำนวนมากจะเพิ่มภาระ tick ของเซิร์ฟเวอร์ หากคุณสังเกตเห็นแลก ลองรวมหรือเพิ่มประสิทธิภาพสายการผลิต
- การโหลด chunk: เซิร์ฟเวอร์ประมวลผล chunk ที่โหลดทั้งหมด พื้นที่โรงงานที่ใช้งานอยู่มากขึ้นกระจายไปทั่วแผนที่หมายถึง chunk ที่ต้องจำลองมากขึ้น การทำให้โรงงานของคุณกะทัดรัดจะลดจำนวน chunk ที่เซิร์ฟเวอร์ต้องติดตาม
- จำนวนผู้เล่น: ผู้เล่นที่เชื่อมต่อมากขึ้นหมายถึง chunk ที่โหลดรอบ ๆ ผู้เล่นแต่ละคนมากขึ้น หากประสิทธิภาพลดลงเมื่อมีผู้เล่นจำนวนมาก ลองลด
server_max_players - ความถี่ของการบันทึกอัตโนมัติ: การบันทึกอัตโนมัติที่บ่อยมาก (ต่ำกว่า 60 วินาที) บนโลกขนาดใหญ่อาจทำให้เกิดการสะดุดเป็นระยะ ค่าเริ่มต้น 300 วินาทีมักจะใช้ได้ดี แต่คุณสามารถเพิ่มได้หากจำเป็น
- หยุดชั่วคราวเมื่อว่าง: การเปิดใช้งาน
pause_server_when_empty=trueป้องกันการจำลองที่ไม่จำเป็นเมื่อไม่มีใครเล่น ซึ่งช่วยรักษาประสิทธิภาพให้สม่ำเสมอในช่วงเวลาเล่นที่ใช้งานอยู่
บทความที่เกี่ยวข้อง
- Foundry Admin and Server Management
- How to Find Your Server IP and Port
- How to Upload Files via SFTP
- Server Startup Guide
ต้องการความช่วยเหลือ?
หากคุณพบปัญหากับเซิร์ฟเวอร์ Foundry ของคุณที่ไม่ได้กล่าวถึงในที่นี้ เปิด support ticket และระบุ IP ของเซิร์ฟเวอร์ คำอธิบายปัญหา และข้อความแสดงข้อผิดพลาดที่เกี่ยวข้องจากคอนโซล GPanel