Цей посібник охоплює розробку ресурсів, налаштування бази даних, інструменти адміністратора, керування гравцями, керування транспортними засобами та зброєю, а також усунення несправностей для вашого сервера alt:V на Legion Hosting. Для початкового налаштування сервера, конфігурації server.toml та інструкцій з підключення дивіться Посібник з налаштування сервера alt:V.
Налаштування адміністратора
alt:V не має вбудованої системи адміністрування. Функціональність адміністратора реалізується через ресурси (скрипти), які ви створюєте або встановлюєте. Більшість ігрових режимів реалізують власну систему адміністрування з рівнями дозволів, ролями та командами адміністратора.
Поширені підходи до адміністрування
- Ролі на основі бази даних: Більшість фреймворків рольових ігор та ігрових режимів зберігають ролі адміністраторів у базі даних. Адміністраторам призначаються ролі (наприклад, модератор, адмін, суперадмін), що надають різні рівні дозволів.
- Адміністратори на основі конфігурації: Простіші налаштування можуть використовувати файл конфігурації зі списком Steam ID або alt:V ID адміністраторів з їхніми рівнями дозволів.
- Консольні команди: Консоль сервера в GPanel завжди має повний доступ. Ви можете писати серверні скрипти, які приймають консольний ввід для операцій адміністрування.
Налаштування ресурсу адміністратора
- Виберіть або розробіть ресурс адміністратора, що відповідає вашому ігровому режиму.
- Завантажте ресурс до каталогу
resources/через вкладку Files або SFTP. - Додайте назву ресурсу до масиву
resourcesуserver.toml. - Налаштуйте ресурс адміністратора (встановіть свої Steam/alt:V ID адміністраторів, рівні дозволів тощо).
- Перезапустіть сервер.
Система ресурсів
Ресурси є основними будівельними блоками серверів 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"]
Поля: type (js або csharp), main (серверна точка входу), client-main (клієнтська точка входу, виконується в GTA V гравця), client-files (файли для надсилання клієнту, підтримує glob-шаблони), deps (інші ресурси для завантаження першими).
Встановлення ресурсів
Щоб встановити готовий ресурс на ваш сервер:
- Завантажте файли ресурсу (зазвичай папка, що містить
resource.tomlта файли скриптів). - Зупиніть свій сервер у GPanel.
- Завантажте папку ресурсу до
resources/через вкладку Files або SFTP. - Додайте назву папки ресурсу до масиву
resourcesуserver.toml:
resources = ["existing-resource", "new-resource"]
- Якщо ресурс має залежності, переконайтеся, що вони також встановлені та перелічені.
- Налаштуйте ресурс відповідно до його документації (файли конфігурації, налаштування бази даних тощо).
- Запустіть сервер. Перевірте консоль на наявність повідомлень про завантаження ресурсів та будь-яких помилок.
Видалення ресурсу
- Зупиніть свій сервер.
- Видаліть назву ресурсу з масиву
resourcesуserver.toml. - За бажанням видаліть папку ресурсу з
resources/. - Запустіть сервер.
deps в інших ресурсах перед видаленням.
Налаштування бази даних
Більшість ігрових режимів alt:V вимагають бази даних для зберігання даних гравців, транспортних засобів, інвентарів та іншої постійної інформації. Двома найпоширенішими системами баз даних для alt:V є MongoDB та MySQL/MariaDB.
MongoDB
MongoDB — це документна база даних NoSQL, яка зазвичай використовується з ресурсами JavaScript/TypeScript. Використовуйте керований сервіс, як-от MongoDB Atlas (доступний безкоштовний рівень), або власний екземпляр. Отримайте свій рядок підключення (наприклад, mongodb+srv://user:[email protected]/mydb) і налаштуйте його у файлі конфігурації вашого ресурсу. Ресурси Node.js використовують npm-пакет mongodb.
MySQL / MariaDB
MySQL зазвичай використовується з ресурсами C# та деякими фреймворками JavaScript. Отримайте базу даних від керованого сервісу або власного екземпляра, налаштуйте свої ресурси з деталями підключення (хост, порт, ім'я користувача, пароль, назва бази даних) і запустіть будь-які необхідні SQL-скрипти міграції.
Керування гравцями
Керування гравцями в alt:V здійснюється через ваші ресурси. Поширені операції включають:
Ідентифікація гравців
alt:V надає кілька ідентифікаторів для кожного підключеного гравця:
| Ідентифікатор | Опис |
|---|---|
player.id |
Тимчасовий числовий ID, призначений для поточної сесії. Змінюється при повторному підключенні. |
player.socialID |
ID гравця в Rockstar Social Club. Постійний між сесіями. |
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.");
}
});
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();
Постійність транспортних засобів
За замовчуванням транспортні засоби існують лише в пам'яті сервера і втрачаються при перезапуску. Щоб зберегти транспортні засоби між перезапусками, збережіть їхні дані (модель, позиція, модифікації, власник) у базі даних і відтворіть їх при запуску сервера.
Усунення несправностей
Ресурси не завантажуються
- Перевірте, що назва ресурсу в
server.tomlточно відповідає назві папки вresources/. - Переконайтеся, що ресурс має дійсний файл
resource.tomlз правильними полямиtypeтаmain. - Перевірте консоль на наявність повідомлень про помилки під час завантаження ресурсу. Синтаксичні помилки в скриптах перешкоджатимуть запуску ресурсу.
- Переконайтеся, що всі залежності, перелічені в
deps, встановлені та завантажені. - Перевірте, що правильний модуль завантажено в
server.toml(js-moduleдля JavaScript,csharp-moduleдля C#).
Гравці не можуть підключитися
- Переконайтеся, що сервер працює та відображається як онлайн у GPanel.
- Перевірте, що гравці використовують лаунчер alt:V, а не звичайний лаунчер GTA V.
- Переконайтеся, що гілка сервера alt:V відповідає тій, яку мають гравці (release, rc або dev). Невідповідні гілки перешкоджають підключенням.
- Якщо сервер захищений паролем, перевірте, що гравці вводять правильний пароль.
- Попросіть гравців спробувати пряме підключення з IP та портом. Дивіться Як знайти IP та порт вашого сервера.
Збої сервера
- Перевірте консоль на наявність повідомлень про помилки перед збоєм.
- Несправні ресурси є найпоширенішою причиною збоїв. Вимкніть нещодавно додані ресурси, щоб локалізувати проблему.
- Переконайтеся, що файли вашого сервера в актуальному стані. За потреби запустіть перевстановлення на вкладці Startup.
- Витоки пам'яті в ресурсах можуть призвести до того, що сервер з часом вичерпає оперативну пам'ять. Відстежуйте графіки ресурсів у GPanel на наявність стабільно зростаючого використання пам'яті.
Проблеми з базою даних та голосовим зв'язком
- Перевірте облікові дані бази даних та рядки підключення. Для MongoDB Atlas додайте IP вашого сервера до білого списку в налаштуваннях мережевого доступу.
- Перевірте консоль на наявність повідомлень про помилки підключення до бази даних.
- Голосовий чат вимагає секції
[voice]уserver.tomlплюс ресурси, що реалізують логіку голосових каналів. Сама конфігурація лише налаштовує інфраструктуру.
Проблеми з продуктивністю
- Профілюйте свої ресурси на наявність затратних операцій (важкі цикли, синхронні виклики бази даних, надмірне створення сутностей).
- Використовуйте
alt.setIntervalтаalt.setTimeoutекономно. Важкі операції на кожному тіку є найпоширенішою причиною проблем з продуктивністю. - Відстежуйте графіки ресурсів у GPanel на предмет використання CPU та RAM.
- Розгляньте можливість оновлення тарифного плану сервера для великої кількості гравців. Відкрийте тікет підтримки, щоб обговорити варіанти.
Схожі статті
- Посібник з налаштування сервера alt:V — Початкове налаштування, конфігурація server.toml, голосовий чат та інструкції з підключення
- Як знайти IP та порт вашого сервера
- Як завантажувати файли через SFTP
- Посібник із запуску сервера — Загальний посібник із запуску будь-якого ігрового сервера на Legion Hosting
Потрібна додаткова допомога?
Якщо ви маєте проблеми, не охоплені цим посібником, наша команда підтримки готова допомогти. Відкрийте тікет за адресою legionhosting.net/submitticket.php з деталями вашого сервера, описом проблеми та будь-якими відповідними повідомленнями про помилки з консолі GPanel.