แฟลชเซล 50% ลดทุกเซิร์ฟเวอร์ วันสุดท้าย!
สิ้นสุดใน: 00D 00H 00M 00S
background image
Game Servers 380 7 Days to Die 4 Abiotic Factor 2 Aloft 2 alt:V 2 Americas Army Proving Grounds 2 Among Us 2 Archean 2 ARK Survival Ascended 6 ARK Survival Evolved 3 Arma 3 3 Arma Reforger 2 Aska 2 AssaultCube 2 Assetto Corsa 3 Astro Colony 2 Astroneer 2 Automobilista 2 2 Avorion 2 Banana Shooter 2 Barotrauma 3 BATTALION Legacy 2 BeamNG.drive (BeamMP) 2 Black Mesa 2 Brickadia 2 Call of Duty 2 Citadel: Forged with Fire 2 ClassiCube 2 Clone Hero 2 Colony Survival 2 Conan Exiles 4 Contagion 2 Core Keeper 2 Counter-Strike 2 3 Craftopia 2 CryoFall 2 CS2D 2 Cube 2: Sauerbraten 2 Cubic Odyssey 2 DayZ 4 DDNet 2 DDRaceNetwork 2 Dead Matter 2 Dont Starve Together 4 Eco 2 Empyrion Galactic Survival 2 Enshrouded 3 Escape from Tarkov 2 Euro Truck Simulator 2 2 Factorio 2 Farming Simulator 25 2 Fistful of Frags 2 FiveM 3 FortressCraft Evolved 2 Foundry 2 Foundry VTT 2 Frozen Flame 2 FTL Tachyon 2 Garrys Mod 3 Ground Branch 2 Half-Life 2 Deathmatch 2 Hogwarp 2 Holdfast: Nations at War 2 HumanitZ 2 Hurtworld 2 Hytale 1 Icarus 2 Insurgency Sandstorm 2 IOSoccer 2 Just Cause 3 Multiplayer 2 Kerbal Space Program 2 Killing Floor 2 3 LeagueSandbox 2 Left 4 Dead 2 Left 4 Dead 2 3 Longvinter 2 Los Angeles Crimes 2 Medal of Honor 2 Midnight Ghost Hunt 2 Mindustry 2 Minecraft 4 Minetest 2 Modiverse 2 Mordhau 3 Mount & Blade II: Bannerlord 2 Myth of Empires 2 Nazi Zombies Portable 2 Necesse 2 NeosVR 2 Neverwinter Nights EE 2 Night of the Dead 2 Nightingale 2 No Love Lost 2 No More Room in Hell 2 No One Survived 2 Nova-Life Amboise 2 Nuclear Option 2 Onset 2 Open Fortress 2 OpenArena 2 OpenRA 2 OpenRCT2 2 OpenTTD 2 Operation Harsh Doorstop 2 Palworld 3 Path of Titans 2 Pavlov VR 3 PixARK 2 Plains of Pain 2 Portal Knights 2 Post Scriptum 2 Project Zomboid 8 Puck 2 Quake Live 2 R5Reloaded 2 RedM 2 Renown 2 Resonite 2 Return to Moria 2 Rimworld Together 2 Rising World 2 Risk of Rain 2 1 Rust 4 Satisfactory 1 SCP Secret Laboratory 3 SCUM 2 Smalland 2 Solace Crafting 2 Soldat 2 Soldat 2 2 Sonic Robo Blast 2 2 Sons of the Forest 2 Soulmask 2 SourceCoop 2 Space Engineers 3 Space Station 14 2 Squad 3 Starbound 3 StarMade 2 Stationeers 2 Stormworks 2 Subnautica Nitrox 2 Sunkenland 2 SuperTuxKart 2 Sven Co-op 2 Swords 'n Magic and Stuff 2 Team Fortress 2 3 Teeworlds 2 Terraria 3 TerraTech Worlds 2 TF2 Classified 2 The Forest 3 The Front 2 The Isle 2 Tower Unite 2 Trackmania 2 Unturned 4 Urban Terror 2 V Rising 3 Valheim 3 VEIN 2 Veloren 2 Vintage Story 3 Voyagers of Nera 2 Wolfenstein: Enemy Territory 2 Wreckfest 2 Wurm Unlimited 2 Xonotic 2 Zandronum 2 Getting Started 2 Network & Connectivity 1 Server Management 2
Categories

การตั้งค่าแอดมินและ Resource ของ alt:V


คู่มือนี้ครอบคลุมการพัฒนา resource การตั้งค่าฐานข้อมูล เครื่องมือแอดมิน การจัดการผู้เล่น การจัดการยานพาหนะและอาวุธ และการแก้ไขปัญหาสำหรับเซิร์ฟเวอร์ alt:V ของคุณบน Legion Hosting สำหรับการตั้งค่าเซิร์ฟเวอร์เริ่มต้น การกำหนดค่า server.toml และคำแนะนำการเชื่อมต่อ ดูที่ คู่มือการตั้งค่าเซิร์ฟเวอร์ alt:V

แผงควบคุมเซิร์ฟเวอร์: การจัดการเซิร์ฟเวอร์ทั้งหมดทำผ่าน GPanel ที่ gpanel.legionhosting.net การจัดการไฟล์สามารถทำได้ผ่านแท็บ Files หรือผ่าน SFTP ดูที่ วิธีอัปโหลดไฟล์ผ่าน SFTP สำหรับคำแนะนำ SFTP

การตั้งค่าแอดมิน

alt:V ไม่มีระบบแอดมินในตัว ฟังก์ชันการทำงานของแอดมินถูกนำมาใช้ผ่าน resource (สคริปต์) ที่คุณสร้างหรือติดตั้ง gamemode ส่วนใหญ่มีระบบแอดมินของตัวเองพร้อมระดับสิทธิ์ บทบาท และคำสั่งแอดมิน

แนวทางการจัดการแอดมินที่พบบ่อย

  • บทบาทที่อิงฐานข้อมูล: เฟรมเวิร์ก roleplay และ gamemode ส่วนใหญ่เก็บบทบาทแอดมินในฐานข้อมูล แอดมินจะถูกกำหนดบทบาท (เช่น moderator, admin, superadmin) ที่ให้ระดับสิทธิ์ที่แตกต่างกัน
  • แอดมินที่อิงการกำหนดค่า: การตั้งค่าที่ง่ายกว่าอาจใช้ไฟล์การกำหนดค่าที่ระบุ Steam ID หรือ alt:V ID ของแอดมินพร้อมระดับสิทธิ์ของพวกเขา
  • คำสั่ง Console: console ของเซิร์ฟเวอร์ใน GPanel มีสิทธิ์เข้าถึงเต็มรูปแบบเสมอ คุณสามารถเขียนสคริปต์ฝั่งเซิร์ฟเวอร์ที่รับ input จาก console สำหรับการดำเนินการของแอดมิน

การตั้งค่า Admin Resource

  1. เลือกหรือพัฒนา admin resource ที่เหมาะกับ gamemode ของคุณ
  2. อัปโหลด resource ไปยังไดเรกทอรี resources/ ผ่านแท็บ Files หรือ SFTP
  3. เพิ่มชื่อ resource ลงในอาร์เรย์ resources ใน server.toml
  4. กำหนดค่า admin resource (ตั้ง Steam/alt:V ID ของแอดมิน ระดับสิทธิ์ ฯลฯ)
  5. รีสตาร์ทเซิร์ฟเวอร์
เฟรมเวิร์กของชุมชน: เฟรมเวิร์ก gamemode ของ alt:V หลายตัว (เช่น athena, rebar และอื่นๆ) มาพร้อมแผงควบคุมแอดมินและระบบสิทธิ์ในตัว การใช้เฟรมเวิร์กที่มีอยู่แล้วช่วยประหยัดเวลาในการพัฒนาได้อย่างมาก

ระบบ Resource

Resource เป็นองค์ประกอบหลักของเซิร์ฟเวอร์ alt:V แต่ละ resource เป็นโมดูลที่สมบูรณ์ในตัวเองซึ่งสามารถมีโค้ดฝั่งเซิร์ฟเวอร์ โค้ดฝั่งไคลเอนต์ หรือทั้งสองอย่าง Resource เขียนด้วย JavaScript, TypeScript หรือ C#

โครงสร้างของ Resource

resources/
  my-resource/
    resource.toml         <-- Resource configuration (required)
    server/
      index.js            <-- Server-side entry point
      utils.js            <-- Additional server-side files
    client/
      index.js            <-- Client-side entry point (runs in player's GTA V)
    shared/
      config.js           <-- Shared code accessible by both server and client

การกำหนดค่า resource.toml

type = "js"
main = "server/index.js"
client-main = "client/index.js"
client-files = ["client/*"]
deps = ["chat"]

ฟิลด์: type (js หรือ csharp), main (server-side entry point), client-main (client-side entry point, ทำงานใน GTA V ของผู้เล่น), client-files (ไฟล์ที่ส่งไปยังไคลเอนต์ รองรับ glob), deps (resource อื่นที่จะโหลดก่อน)


การติดตั้ง Resource

หากต้องการติดตั้ง resource ที่สร้างไว้แล้วบนเซิร์ฟเวอร์ของคุณ:

  1. ดาวน์โหลดไฟล์ resource (โดยทั่วไปเป็นโฟลเดอร์ที่มี resource.toml และไฟล์สคริปต์)
  2. หยุดเซิร์ฟเวอร์ของคุณใน GPanel
  3. อัปโหลดโฟลเดอร์ resource ไปยัง resources/ ผ่านแท็บ Files หรือ SFTP
  4. เพิ่มชื่อโฟลเดอร์ resource ลงในอาร์เรย์ resources ใน server.toml:
resources = ["existing-resource", "new-resource"]
  1. หาก resource มี dependency ให้ตรวจสอบว่าได้ติดตั้งและระบุไว้ด้วย
  2. กำหนดค่า resource ตามเอกสารของมัน (ไฟล์การกำหนดค่า การตั้งค่าฐานข้อมูล ฯลฯ)
  3. เริ่มเซิร์ฟเวอร์ ตรวจสอบ console สำหรับข้อความการโหลด resource และข้อผิดพลาดใดๆ

การลบ Resource

  1. หยุดเซิร์ฟเวอร์ของคุณ
  2. ลบชื่อ resource ออกจากอาร์เรย์ resources ใน server.toml
  3. ลบโฟลเดอร์ resource ออกจาก resources/ ตามต้องการ
  4. เริ่มเซิร์ฟเวอร์
ตรวจสอบ dependency: การลบ resource ที่ resource อื่นพึ่งพาจะทำให้ resource ที่พึ่งพาเหล่านั้นล้มเหลว ตรวจสอบฟิลด์ deps ใน resource อื่นก่อนลบ

การตั้งค่าฐานข้อมูล

gamemode ของ alt:V ส่วนใหญ่ต้องการฐานข้อมูลเพื่อจัดเก็บข้อมูลผู้เล่น ยานพาหนะ คลังไอเทม และข้อมูลถาวรอื่นๆ ระบบฐานข้อมูลที่พบบ่อยที่สุดสองตัวสำหรับ alt:V คือ MongoDB และ MySQL/MariaDB

MongoDB

MongoDB เป็นฐานข้อมูลแบบ document NoSQL ที่ใช้กันทั่วไปกับ resource JavaScript/TypeScript ใช้บริการแบบ managed เช่น MongoDB Atlas (มี free tier) หรืออินสแตนซ์แบบ self-hosted รับ connection string ของคุณ (เช่น mongodb+srv://user:[email protected]/mydb) และกำหนดค่าในไฟล์การกำหนดค่าของ resource ของคุณ resource Node.js ใช้แพ็กเกจ npm mongodb

MySQL / MariaDB

MySQL ใช้กันทั่วไปกับ resource C# และเฟรมเวิร์ก JavaScript บางตัว จัดหาฐานข้อมูลจากบริการแบบ managed หรืออินสแตนซ์แบบ self-hosted กำหนดค่า resource ของคุณด้วยรายละเอียดการเชื่อมต่อ (host, port, username, password, ชื่อฐานข้อมูล) และรันสคริปต์ SQL migration ที่จำเป็นใดๆ

การโฮสต์ฐานข้อมูล: เซิร์ฟเวอร์เกม alt:V ไม่รวมเซิร์ฟเวอร์ฐานข้อมูล คุณต้องมีบริการฐานข้อมูลแยกต่างหาก ติดต่อทีมสนับสนุนของเรา หากคุณต้องการความช่วยเหลือ ใช้การดำเนินการฐานข้อมูลแบบ asynchronous เสมอ — การเรียกแบบ synchronous จะบล็อก main thread และทำให้เกิดแลค

การจัดการผู้เล่น

การจัดการผู้เล่นใน alt:V ถูกจัดการผ่าน resource ของคุณ การดำเนินการที่พบบ่อยได้แก่:

การระบุตัวผู้เล่น

alt:V มีตัวระบุหลายแบบสำหรับผู้เล่นที่เชื่อมต่อแต่ละคน:

ตัวระบุ คำอธิบาย
player.id ID ตัวเลขชั่วคราวที่กำหนดสำหรับเซสชันปัจจุบัน เปลี่ยนเมื่อเชื่อมต่อใหม่
player.socialID Rockstar Social Club ID ของผู้เล่น คงอยู่ตลอดทุกเซสชัน
player.hwidHash hash ตัวระบุฮาร์ดแวร์ มีประโยชน์สำหรับการบังคับใช้การแบน
player.ip ที่อยู่ IP ของผู้เล่น

การ Kick และ Ban

นำฟังก์ชันการ kick และ ban มาใช้ใน resource ของคุณ:

import alt from "alt-server";

// Kick a player
player.kick("Reason for kick");

// Ban check on connect (store bans in database)
alt.on("playerConnect", (player) => {
    if (isPlayerBanned(player.socialID)) {
        player.kick("You are banned from this server.");
    }
});
การแบนถาวร: alt:V ไม่มีระบบแบนในตัว เก็บการแบนไว้ในฐานข้อมูลและตรวจสอบเมื่อเชื่อมต่อ ใช้ socialID และ hwidHash สำหรับการบังคับใช้ที่เชื่อถือได้

การจัดการยานพาหนะและอาวุธ

ยานพาหนะและอาวุธถูกจัดการผ่านสคริปต์ฝั่งเซิร์ฟเวอร์ alt:V ให้คุณควบคุมการสปอว์น การปรับแต่ง และการลบยานพาหนะและอาวุธได้อย่างเต็มที่

การสปอว์นยานพาหนะ

import alt from "alt-server";

// Spawn a vehicle at a position
const vehicle = new alt.Vehicle(
    "sultan",            // Vehicle model name
    0, 0, 72,           // Position (x, y, z)
    0, 0, 0             // Rotation (rx, ry, rz)
);
vehicle.numberPlateText = "LEGION";

การให้อาวุธ

// Give a weapon to a player
player.giveWeapon(alt.hash("weapon_pistol"), 100, true);

// Remove all weapons
player.removeAllWeapons();

ความคงอยู่ของยานพาหนะ

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


การแก้ไขปัญหา

Resource ไม่โหลด

  • ตรวจสอบว่าชื่อ resource ใน server.toml ตรงกับชื่อโฟลเดอร์ใน resources/ ทุกประการ
  • ตรวจสอบว่า resource มีไฟล์ resource.toml ที่ถูกต้องพร้อมฟิลด์ type และ main ที่ถูกต้อง
  • ตรวจสอบ console สำหรับข้อความแสดงข้อผิดพลาดระหว่างการโหลด resource ข้อผิดพลาดทางไวยากรณ์ในสคริปต์จะป้องกันไม่ให้ resource เริ่มทำงาน
  • ตรวจสอบให้แน่ใจว่า dependency ทั้งหมดที่ระบุไว้ใน deps ได้รับการติดตั้งและโหลดแล้ว
  • ตรวจสอบว่าโมดูลที่ถูกต้องถูกโหลดใน server.toml (js-module สำหรับ JavaScript, csharp-module สำหรับ C#)

ผู้เล่นเชื่อมต่อไม่ได้

  • ตรวจสอบว่าเซิร์ฟเวอร์กำลังทำงานและแสดงสถานะออนไลน์ใน GPanel
  • ตรวจสอบว่าผู้เล่นใช้ alt:V launcher ไม่ใช่ GTA V launcher ปกติ
  • ตรวจสอบให้แน่ใจว่า branch ของเซิร์ฟเวอร์ alt:V ตรงกับที่ผู้เล่นมี (release, rc หรือ dev) branch ที่ไม่ตรงกันจะป้องกันการเชื่อมต่อ
  • หากมีการป้องกันด้วยรหัสผ่าน ตรวจสอบว่าผู้เล่นป้อนรหัสผ่านที่ถูกต้อง
  • ให้ผู้เล่นลองเชื่อมต่อโดยตรงด้วย IP และ port ดูที่ วิธีค้นหา IP และ Port ของเซิร์ฟเวอร์

เซิร์ฟเวอร์แครช

  • ตรวจสอบ console สำหรับข้อความแสดงข้อผิดพลาดก่อนการแครช
  • resource ที่บกพร่องเป็นสาเหตุของการแครชที่พบบ่อยที่สุด ปิดใช้งาน resource ที่เพิ่งเพิ่มเข้ามาเพื่อแยกแยะปัญหา
  • ตรวจสอบให้แน่ใจว่าไฟล์เซิร์ฟเวอร์ของคุณเป็นเวอร์ชันล่าสุด เริ่มการติดตั้งใหม่จากแท็บ Startup หากจำเป็น
  • Memory leak ใน resource อาจทำให้เซิร์ฟเวอร์ใช้ RAM หมดเมื่อเวลาผ่านไป เฝ้าดูกราฟทรัพยากรของ GPanel สำหรับการใช้หน่วยความจำที่เพิ่มขึ้นอย่างต่อเนื่อง

ปัญหาฐานข้อมูลและ Voice

  • ตรวจสอบข้อมูลรับรองฐานข้อมูลและ connection string สำหรับ MongoDB Atlas ให้เพิ่ม IP ของเซิร์ฟเวอร์ของคุณลงใน whitelist ในการตั้งค่า network access
  • ตรวจสอบ console สำหรับข้อความแสดงข้อผิดพลาดการเชื่อมต่อฐานข้อมูล
  • Voice chat ต้องการส่วน [voice] ใน server.toml รวมถึง resource ที่นำตรรกะ voice channel มาใช้ การกำหนดค่าเพียงอย่างเดียวเป็นเพียงการตั้งค่าโครงสร้างพื้นฐานเท่านั้น

ปัญหาด้านประสิทธิภาพ

  • ทำ profile resource ของคุณเพื่อหาการดำเนินการที่ใช้ทรัพยากรมาก (ลูปหนัก การเรียกฐานข้อมูลแบบ synchronous การสร้าง entity มากเกินไป)
  • ใช้ alt.setInterval และ alt.setTimeout อย่างประหยัด การดำเนินการที่หนักต่อ tick เป็นตัวบ่อนทำลายประสิทธิภาพที่พบบ่อยที่สุด
  • เฝ้าดูกราฟทรัพยากรของ GPanel สำหรับการใช้ CPU และ RAM
  • พิจารณาอัปเกรดแพ็กเกจเซิร์ฟเวอร์ของคุณสำหรับจำนวนผู้เล่นที่สูง เปิด support ticket เพื่อปรึกษาตัวเลือก

บทความที่เกี่ยวข้อง


ต้องการความช่วยเหลือเพิ่มเติม?

หากคุณประสบปัญหาที่ไม่ครอบคลุมในคู่มือนี้ ทีมสนับสนุนของเราพร้อมช่วยเหลือ เปิด ticket ที่ legionhosting.net/submitticket.php พร้อมรายละเอียดเซิร์ฟเวอร์ของคุณ คำอธิบายปัญหา และข้อความแสดงข้อผิดพลาดที่เกี่ยวข้องใดๆ จาก console ของ GPanel


Was this article helpful?

Ready to Get Started?

The servers are booted, select your plan and become our latest satisfied client.