Това ръководство покрива разработването на ресурси, настройката на база данни, админ инструменти, управлението на играчи, управлението на превозни средства и оръжия, и отстраняването на проблеми за вашия alt:V сървър в Legion Hosting. За първоначална настройка на сървъра, конфигурация на server.toml и инструкции за свързване, вижте Ръководство за настройка на alt:V сървър.
Настройка на админи
alt:V няма вградена админ система. Функционалността на админите се реализира чрез ресурси (скриптове), които създавате или инсталирате. Повечето gamemodes реализират своя собствена админ система с нива на разрешения, роли и админ команди.
Често срещани админ подходи
- Роли, базирани на база данни: Повечето roleplay и gamemode frameworks съхраняват админ роли в база данни. На админите се присвояват роли (напр. moderator, admin, superadmin), които предоставят различни нива на разрешения.
- Админи базирани на config: По-прости настройки могат да използват конфигурационен файл, изброяващ Steam IDs или alt:V IDs на админи с техните нива на разрешения.
- Конзолни команди: GPanel сървърната конзола винаги има пълен достъп. Можете да напишете server-side скриптове, които приемат конзолни входни данни за админ операции.
Настройка на админ ресурс
- Изберете или разработете админ ресурс, който подхожда на вашия gamemode.
- Качете ресурса в директорията
resources/чрез раздела Files или SFTP. - Добавете името на ресурса към
resourcesмасива вserver.toml. - Конфигурирайте админ ресурса (задайте вашите admin Steam/alt:V IDs, нива на разрешения и т.н.).
- Рестартирайте сървъра.
Resource System
Ресурсите са основните строителни блокове на alt:V сървърите. Всеки ресурс е самостоятелен модул, който може да съдържа server-side код, client-side код или и двете. Ресурсите се пишат на 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"]
Полета: type (js или csharp), main (server-side entry point), client-main (client-side entry point, работи в GTA V на играча), client-files (файлове, които да се изпратят на клиента, поддържа globs), deps (други ресурси, които да се заредят първи).
Инсталиране на ресурси
За да инсталирате предварително изграден ресурс на вашия сървър:
- Изтеглете файловете на ресурса (обикновено папка, съдържаща
resource.tomlи script файлове). - Спрете вашия сървър в GPanel.
- Качете папката на ресурса в
resources/чрез раздела Files или SFTP. - Добавете името на папката на ресурса към
resourcesмасива вserver.toml:
resources = ["existing-resource", "new-resource"]
- Ако ресурсът има зависимости, уверете се, че те също са инсталирани и изброени.
- Конфигурирайте ресурса според неговата документация (config файлове, настройка на база данни и т.н.).
- Стартирайте сървъра. Проверете конзолата за съобщения за зареждане на ресурси и всякакви грешки.
Премахване на ресурс
- Спрете вашия сървър.
- Премахнете името на ресурса от
resourcesмасива вserver.toml. - По избор изтрийте папката на ресурса от
resources/. - Стартирайте сървъра.
deps в други ресурси преди премахване.
Настройка на база данни
Повечето alt:V gamemodes изискват база данни за съхранение на данни за играчи, превозни средства, инвентари и друга устойчива информация. Двете най-често използвани системи за бази данни за alt:V са MongoDB и MySQL/MariaDB.
MongoDB
MongoDB е NoSQL document база данни, често използвана с JavaScript/TypeScript ресурси. Използвайте управлявана услуга като MongoDB Atlas (с наличен безплатен tier) или собствен hosted инстанс. Вземете вашия connection string (напр. mongodb+srv://user:[email protected]/mydb) и го конфигурирайте в config файла на вашия ресурс. Node.js ресурсите използват npm пакета mongodb.
MySQL / MariaDB
MySQL се използва често с C# ресурси и някои JavaScript frameworks. Получете база данни от управлявана услуга или собствен hosted инстанс, конфигурирайте вашите ресурси с детайлите за връзка (host, port, username, password, database name) и стартирайте необходимите SQL migration скриптове.
Управление на играчи
Управлението на играчи в alt:V се обработва чрез вашите ресурси. Често срещани операции включват:
Идентифициране на играчи
alt:V предоставя няколко идентификатора за всеки свързан играч:
| Идентификатор | Описание |
|---|---|
player.id |
Временен числов ID, присвоен за текущата сесия. Променя се при повторно свързване. |
player.socialID |
Rockstar Social Club ID на играча. Устойчив между сесии. |
player.hwidHash |
Хардуерен идентификатор хеш. Полезен за прилагане на ban. |
player.ip |
IP адресът на играча. |
Kicking и banning
Реализирайте kick и ban функционалност във вашите ресурси:
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.");
}
});
socialID и hwidHash за надеждно прилагане.
Управление на превозни средства и оръжия
Превозните средства и оръжията се управляват чрез server-side скриптове. 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 паметта и се губят при рестарт. За да поддържате превозните средства между рестарти, съхранявайте техните данни (модел, позиция, модификации, собственик) в база данни и ги пресъздавайте при стартиране на сървъра.
Отстраняване на проблеми
Ресурсите не се зареждат
- Проверете, че името на ресурса в
server.tomlточно съвпада с името на папката вresources/. - Проверете, че ресурсът има валиден
resource.tomlфайл с правилни полетаtypeиmain. - Проверете конзолата за съобщения за грешки по време на зареждане на ресурси. Синтактични грешки в скриптовете ще попречат на ресурса да стартира.
- Уверете се, че всички зависимости, изброени в
deps, са инсталирани и заредени. - Проверете, че правилният модул е зареден в
server.toml(js-moduleза JavaScript,csharp-moduleза C#).
Играчите не могат да се свържат
- Проверете, че сървърът работи и се показва като онлайн в GPanel.
- Проверете, че играчите използват alt:V launcher, а не обикновения GTA V launcher.
- Уверете се, че alt:V server branch съвпада с това, което играчите имат (release, rc или dev). Несъответстващите branches пречат на връзките.
- Ако е защитен с парола, проверете, че играчите въвеждат правилната парола.
- Накарайте играчите да опитат direct connect с IP и port. Вижте Как да намерите IP и port на вашия сървър.
Сривове на сървъра
- Проверете конзолата за съобщения за грешки преди срива.
- Дефектни ресурси са най-честата причина за сривове. Деактивирайте наскоро добавените ресурси, за да изолирате проблема.
- Уверете се, че файловете на вашия сървър са актуални. Задействайте преинсталация от раздела Startup, ако е необходимо.
- Memory leaks в ресурсите могат да причинят сървърът да изчерпи RAM с течение на времето. Наблюдавайте GPanel resource graphs за постоянно нарастващо използване на паметта.
Проблеми с база данни и глас
- Проверете database credentials и connection strings. За MongoDB Atlas включете IP на вашия сървър в whitelist в настройките за network access.
- Проверете конзолата за съобщения за грешки при database връзка.
- Voice chat изисква
[voice]секцията вserver.tomlплюс ресурси, които реализират voice channel логика. Конфигурацията сама по себе си само настройва инфраструктурата.
Проблеми с производителността
- Профилирайте вашите ресурси за скъпи операции (тежки цикли, синхронни database повиквания, прекомерно създаване на entities).
- Използвайте
alt.setIntervalиalt.setTimeoutпестеливо. Тежките per-tick операции са най-честият убиец на производителността. - Наблюдавайте GPanel resource graphs за CPU и RAM използване.
- Помислете за надграждане на вашия server plan за висок брой играчи. Отворете support ticket, за да обсъдите опциите.
Свързани статии
- Ръководство за настройка на alt:V сървър — Първоначална настройка, конфигурация на server.toml, voice chat и инструкции за свързване
- Как да намерите IP и port на вашия сървър
- Как да качвате файлове чрез SFTP
- Ръководство за стартиране на сървър — Общо ръководство за стартиране на всеки game сървър в Legion Hosting
Нуждаете се от повече помощ?
Ако изпитвате проблеми, които не са обхванати в това ръководство, нашият support екип е на разположение да помогне. Отворете ticket на legionhosting.net/submitticket.php с детайлите на вашия сървър, описание на проблема и всякакви съответни съобщения за грешки от GPanel конзолата.