限时抢购 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
分类

alt:V 管理员与资源配置


本指南涵盖了在 Legion Hosting 上运行 alt:V 服务器的资源开发、数据库设置、管理工具、玩家管理、载具和武器管理以及故障排除。有关初始服务器设置、server.toml 配置和连接说明,请参阅 alt:V 服务器设置指南

服务器面板: 所有服务器管理均通过 GPanel 完成,地址为 gpanel.legionhosting.net。文件管理可通过 Files 选项卡或 SFTP 完成。有关 SFTP 说明,请参阅 如何通过 SFTP 上传文件

管理员设置

alt:V 没有内置的管理员系统。管理员功能通过您创建或安装的资源(脚本)来实现。大多数游戏模式会实现自己的管理员系统,包含权限等级、角色和管理员命令。

常见管理员方案

  • 数据库角色: 大多数角色扮演和游戏模式框架将管理员角色存储在数据库中。管理员被分配角色(例如 moderator、admin、superadmin),授予不同的权限等级。
  • 配置文件管理员: 更简单的设置可以使用配置文件列出管理员的 Steam ID 或 alt:V ID 及其权限等级。
  • 控制台命令: GPanel 服务器控制台始终拥有完全访问权限。您可以编写服务器端脚本来接受控制台输入以执行管理操作。

设置管理员资源

  1. 选择或开发适合您游戏模式的管理员资源。
  2. 通过 Files 选项卡或 SFTP 将资源上传到 resources/ 目录。
  3. 将资源名称添加到 server.toml 中的 resources 数组。
  4. 配置管理员资源(设置您的管理员 Steam/alt:V ID、权限等级等)。
  5. 重启服务器。
社区框架: 许多 alt:V 游戏模式框架(如 athena、rebar 等)自带管理面板和权限系统。使用成熟的框架可以节省大量开发时间。

资源系统

资源是 alt:V 服务器的核心构建模块。每个资源都是一个独立的模块,可以包含服务器端代码、客户端代码或两者兼有。资源使用 JavaScript、TypeScript 或 C# 编写。

资源结构

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"]

字段说明:typejscsharp),main(服务器端入口点),client-main(客户端入口点,在玩家的 GTA V 中运行),client-files(发送给客户端的文件,支持通配符),deps(需要先加载的其他资源)。


安装资源

要在服务器上安装预构建的资源:

  1. 下载资源文件(通常是一个包含 resource.toml 和脚本文件的文件夹)。
  2. 在 GPanel 中停止服务器。
  3. 通过 Files 选项卡或 SFTP 将资源文件夹上传到 resources/
  4. 将资源文件夹名称添加到 server.toml 中的 resources 数组:
resources = ["existing-resource", "new-resource"]
  1. 如果资源有依赖项,请确保这些依赖项也已安装并列出。
  2. 根据资源文档进行配置(配置文件、数据库设置等)。
  3. 启动服务器。检查控制台中的资源加载消息和任何错误。

移除资源

  1. 停止服务器。
  2. server.toml 中的 resources 数组中移除资源名称。
  3. 可选择从 resources/ 中删除资源文件夹。
  4. 启动服务器。
检查依赖项: 移除其他资源所依赖的资源会导致这些依赖资源运行失败。在移除之前,请检查其他资源中的 deps 字段。

数据库设置

大多数 alt:V 游戏模式需要数据库来存储玩家数据、载具、物品栏和其他持久化信息。alt:V 最常用的两种数据库系统是 MongoDB 和 MySQL/MariaDB。

MongoDB

MongoDB 是一种 NoSQL 文档数据库,常与 JavaScript/TypeScript 资源配合使用。您可以使用 MongoDB Atlas(提供免费套餐)等托管服务或自托管实例。获取您的连接字符串(例如 mongodb+srv://user:[email protected]/mydb)并在资源的配置文件中进行设置。Node.js 资源使用 mongodb npm 包。

MySQL / MariaDB

MySQL 常与 C# 资源和一些 JavaScript 框架配合使用。从托管服务或自托管实例获取数据库,使用连接详细信息(主机、端口、用户名、密码、数据库名称)配置您的资源,并运行所需的 SQL 迁移脚本。

数据库托管: alt:V 游戏服务器不包含数据库服务器。您需要单独的数据库服务。如需帮助,请 联系我们的支持团队。请始终使用异步数据库操作 — 同步调用会阻塞主线程并导致延迟。

玩家管理

alt:V 中的玩家管理通过您的资源来处理。常见操作包括:

识别玩家

alt:V 为每个连接的玩家提供多个标识符:

标识符 描述
player.id 当前会话分配的临时数字 ID。重新连接后会改变。
player.socialID 玩家的 Rockstar Social Club ID。跨会话持久保存。
player.hwidHash 硬件标识符哈希值。用于封禁执行。
player.ip 玩家的 IP 地址。

踢出和封禁

在您的资源中实现踢出和封禁功能:

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 没有内置封禁系统。将封禁信息存储在数据库中并在连接时检查。使用 socialIDhwidHash 以确保可靠的执行。

载具和武器管理

载具和武器通过服务器端脚本进行管理。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();

载具持久化

默认情况下,载具仅存在于服务器内存中,重启后会丢失。要在重启后保留载具,请将其数据(型号、位置、改装、所有者)存储在数据库中,并在服务器启动时重新创建。


故障排除

资源未加载

  • 检查 server.toml 中的资源名称是否与 resources/ 中的文件夹名称完全匹配。
  • 验证资源是否有有效的 resource.toml 文件,且 typemain 字段正确。
  • 检查控制台中资源加载期间的错误消息。脚本中的语法错误会阻止资源启动。
  • 确保 deps 中列出的所有依赖项都已安装并加载。
  • 验证 server.toml 中加载了正确的模块(JavaScript 使用 js-module,C# 使用 csharp-module)。

玩家无法连接

  • 验证服务器正在运行且在 GPanel 中显示为在线。
  • 检查玩家是否使用 alt:V 启动器,而非常规 GTA V 启动器。
  • 确保 alt:V 服务器分支与玩家使用的分支匹配(release、rc 或 dev)。分支不匹配会阻止连接。
  • 如果设置了密码保护,请验证玩家输入的密码是否正确。
  • 让玩家尝试使用 IP 和端口直接连接。请参阅 如何查找服务器 IP 和端口

服务器崩溃

  • 检查崩溃前控制台中的错误消息。
  • 有问题的资源是导致崩溃的最常见原因。禁用最近添加的资源以隔离问题。
  • 确保您的服务器文件是最新的。如需要,可从 Startup 选项卡触发重新安装。
  • 资源中的内存泄漏可能导致服务器随时间耗尽 RAM。监控 GPanel 资源图表,查看是否有内存使用量持续增长的情况。

数据库和语音问题

  • 验证数据库凭据和连接字符串。对于 MongoDB Atlas,请在网络访问设置中将服务器 IP 加入白名单。
  • 检查控制台中的数据库连接错误消息。
  • 语音聊天需要在 server.toml 中配置 [voice] 部分,并需要实现语音频道逻辑的资源。仅配置文件只是设置了基础架构。

性能问题

  • 分析您的资源中的高开销操作(大量循环、同步数据库调用、过多实体创建)。
  • 谨慎使用 alt.setIntervalalt.setTimeout。每帧大量计算操作是最常见的性能杀手。
  • 监控 GPanel 资源图表的 CPU 和 RAM 使用情况。
  • 对于高玩家数量的服务器,考虑升级您的服务器方案。提交支持工单以讨论选项。

相关文章


需要更多帮助?

如果您遇到本指南未涵盖的问题,我们的支持团队随时为您提供帮助。请在 legionhosting.net/submitticket.php 提交工单,并附上您的服务器详细信息、问题描述以及 GPanel 控制台中的相关错误消息。


这篇文章对您有帮助吗?

Ready to Get Started?

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