Αυτός ο οδηγός καλύπτει την ανάπτυξη resources, την εγκατάσταση βάσης δεδομένων, τα εργαλεία διαχειριστή, τη διαχείριση παικτών, τη διαχείριση οχημάτων και όπλων, καθώς και την αντιμετώπιση προβλημάτων για τον διακομιστή σας alt:V στο Legion Hosting. Για την αρχική εγκατάσταση διακομιστή, τη διαμόρφωση server.toml και οδηγίες σύνδεσης, δείτε το Οδηγός Εγκατάστασης Διακομιστή alt:V.
Εγκατάσταση Διαχειριστή
Το alt:V δεν διαθέτει ενσωματωμένο σύστημα διαχειριστή. Η λειτουργικότητα διαχειριστή υλοποιείται μέσω resources (scripts) που δημιουργείτε ή εγκαθιστάτε. Τα περισσότερα gamemodes υλοποιούν το δικό τους σύστημα διαχειριστή με επίπεδα δικαιωμάτων, ρόλους και εντολές διαχειριστή.
Συνήθεις Προσεγγίσεις Διαχειριστή
- Ρόλοι βασισμένοι σε βάση δεδομένων: Τα περισσότερα frameworks roleplay και gamemode αποθηκεύουν τους ρόλους διαχειριστή σε βάση δεδομένων. Στους διαχειριστές ανατίθενται ρόλοι (π.χ. moderator, admin, superadmin) που παρέχουν διαφορετικά επίπεδα δικαιωμάτων.
- Διαχειριστές βασισμένοι σε config: Απλούστερες ρυθμίσεις μπορεί να χρησιμοποιούν ένα αρχείο διαμόρφωσης που παραθέτει τα Steam IDs ή τα alt:V IDs των διαχειριστών με τα επίπεδα δικαιωμάτων τους.
- Εντολές κονσόλας: Η κονσόλα διακομιστή GPanel έχει πάντα πλήρη πρόσβαση. Μπορείτε να γράψετε server-side scripts που δέχονται είσοδο κονσόλας για λειτουργίες διαχειριστή.
Ρύθμιση ενός Resource Διαχειριστή
- Επιλέξτε ή αναπτύξτε ένα resource διαχειριστή που ταιριάζει στο gamemode σας.
- Ανεβάστε το resource στον κατάλογο
resources/μέσω της καρτέλας Files ή SFTP. - Προσθέστε το όνομα του resource στο array
resourcesστοserver.toml. - Διαμορφώστε το resource διαχειριστή (ορίστε τα Steam/alt:V IDs διαχειριστή σας, τα επίπεδα δικαιωμάτων κ.λπ.).
- Επανεκκινήστε τον διακομιστή.
Σύστημα Resources
Τα resources είναι τα βασικά δομικά στοιχεία των διακομιστών alt:V. Κάθε resource είναι ένα αυτόνομο module που μπορεί να περιέχει server-side κώδικα, client-side κώδικα ή και τα δύο. Τα resources είναι γραμμένα σε 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 (αρχεία προς αποστολή στον client, υποστηρίζει globs), deps (άλλα resources προς φόρτωση πρώτα).
Εγκατάσταση Resources
Για να εγκαταστήσετε ένα προ-κατασκευασμένο resource στον διακομιστή σας:
- Κατεβάστε τα αρχεία του resource (συνήθως ένας φάκελος που περιέχει το
resource.tomlκαι αρχεία script). - Σταματήστε τον διακομιστή σας στο GPanel.
- Ανεβάστε τον φάκελο του resource στο
resources/μέσω της καρτέλας Files ή SFTP. - Προσθέστε το όνομα του φακέλου resource στο array
resourcesστοserver.toml:
resources = ["existing-resource", "new-resource"]
- Εάν το resource έχει εξαρτήσεις, βεβαιωθείτε ότι αυτές είναι επίσης εγκατεστημένες και παρατίθενται.
- Διαμορφώστε το resource σύμφωνα με την τεκμηρίωσή του (αρχεία config, εγκατάσταση βάσης δεδομένων κ.λπ.).
- Ξεκινήστε τον διακομιστή. Ελέγξτε την κονσόλα για μηνύματα φόρτωσης resource και τυχόν σφάλματα.
Αφαίρεση ενός Resource
- Σταματήστε τον διακομιστή σας.
- Αφαιρέστε το όνομα του resource από το array
resourcesστοserver.toml. - Προαιρετικά, διαγράψτε τον φάκελο του resource από το
resources/. - Ξεκινήστε τον διακομιστή.
deps σε άλλα resources πριν την αφαίρεση.
Εγκατάσταση Βάσης Δεδομένων
Τα περισσότερα gamemodes του alt:V απαιτούν μια βάση δεδομένων για την αποθήκευση δεδομένων παικτών, οχημάτων, inventories και άλλων μόνιμων πληροφοριών. Τα δύο πιο συνηθισμένα συστήματα βάσεων δεδομένων για το alt:V είναι το MongoDB και το MySQL/MariaDB.
MongoDB
Το MongoDB είναι μια NoSQL document database που χρησιμοποιείται συχνά με resources JavaScript/TypeScript. Χρησιμοποιήστε μια διαχειριζόμενη υπηρεσία όπως το MongoDB Atlas (διαθέσιμο δωρεάν επίπεδο) ή ένα self-hosted instance. Λάβετε το connection string σας (π.χ. mongodb+srv://user:[email protected]/mydb) και διαμορφώστε το στο αρχείο config του resource σας. Τα resources Node.js χρησιμοποιούν το npm package mongodb.
MySQL / MariaDB
Το MySQL χρησιμοποιείται συχνά με resources C# και ορισμένα frameworks JavaScript. Αποκτήστε μια βάση δεδομένων από μια διαχειριζόμενη υπηρεσία ή self-hosted instance, διαμορφώστε τα resources σας με τα στοιχεία σύνδεσης (host, port, username, password, database name) και εκτελέστε τυχόν απαιτούμενα SQL migration scripts.
Διαχείριση Παικτών
Η διαχείριση παικτών στο alt:V χειρίζεται μέσω των resources σας. Συνήθεις λειτουργίες περιλαμβάνουν:
Αναγνώριση Παικτών
Το alt:V παρέχει διάφορα αναγνωριστικά για κάθε συνδεδεμένο παίκτη:
| Αναγνωριστικό | Περιγραφή |
|---|---|
player.id |
Ένα προσωρινό αριθμητικό ID που ανατίθεται για την τρέχουσα συνεδρία. Αλλάζει κατά την επανασύνδεση. |
player.socialID |
Το Rockstar Social Club ID του παίκτη. Μόνιμο σε όλες τις συνεδρίες. |
player.hwidHash |
Ένα hash αναγνωριστικού υλικού. Χρήσιμο για την επιβολή ban. |
player.ip |
Η διεύθυνση IP του παίκτη. |
Kicking και Banning
Υλοποιήστε λειτουργικότητα kick και ban στα resources σας:
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 scripts. Το 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, position, modifications, owner) σε μια βάση δεδομένων και αναδημιουργήστε τα κατά την εκκίνηση του διακομιστή.
Αντιμετώπιση Προβλημάτων
Τα Resources Δεν Φορτώνουν
- Ελέγξτε ότι το όνομα του resource στο
server.tomlταιριάζει ακριβώς με το όνομα του φακέλου στοresources/. - Επαληθεύστε ότι το resource έχει ένα έγκυρο αρχείο
resource.tomlμε σωστά πεδίαtypeκαιmain. - Ελέγξτε την κονσόλα για μηνύματα σφάλματος κατά τη φόρτωση του resource. Σφάλματα σύνταξης στα scripts θα εμποδίσουν την εκκίνηση του resource.
- Βεβαιωθείτε ότι όλες οι εξαρτήσεις που παρατίθενται στο
depsείναι εγκατεστημένες και φορτωμένες. - Επαληθεύστε ότι το σωστό module είναι φορτωμένο στο
server.toml(js-moduleγια JavaScript,csharp-moduleγια C#).
Οι Παίκτες Δεν Μπορούν να Συνδεθούν
- Επαληθεύστε ότι ο διακομιστής λειτουργεί και εμφανίζεται ως online στο GPanel.
- Ελέγξτε ότι οι παίκτες χρησιμοποιούν τον alt:V launcher, όχι τον κανονικό launcher του GTA V.
- Βεβαιωθείτε ότι το branch του διακομιστή alt:V ταιριάζει με αυτό που έχουν οι παίκτες (release, rc ή dev). Ασύμβατα branches εμποδίζουν τις συνδέσεις.
- Εάν είναι προστατευμένο με κωδικό πρόσβασης, επαληθεύστε ότι οι παίκτες εισάγουν τον σωστό κωδικό πρόσβασης.
- Ζητήστε από τους παίκτες να δοκιμάσουν direct connect με την IP και τη θύρα. Δείτε το Πώς να Βρείτε την IP και τη Θύρα του Διακομιστή σας.
Καταρρεύσεις Διακομιστή
- Ελέγξτε την κονσόλα για μηνύματα σφάλματος πριν την κατάρρευση.
- Τα ελαττωματικά resources είναι η πιο συνηθισμένη αιτία καταρρεύσεων. Απενεργοποιήστε τα πρόσφατα προστιθέμενα resources για να απομονώσετε το πρόβλημα.
- Βεβαιωθείτε ότι τα αρχεία του διακομιστή σας είναι ενημερωμένα. Ενεργοποιήστε μια επανεγκατάσταση από την καρτέλα Startup εάν χρειάζεται.
- Οι διαρροές μνήμης στα resources μπορούν να προκαλέσουν την εξάντληση της RAM του διακομιστή με την πάροδο του χρόνου. Παρακολουθήστε τα γραφήματα πόρων του GPanel για σταθερά αυξανόμενη χρήση μνήμης.
Προβλήματα Βάσης Δεδομένων και Φωνής
- Επαληθεύστε τα διαπιστευτήρια βάσης δεδομένων και τα connection strings. Για το MongoDB Atlas, προσθέστε την IP του διακομιστή σας στη λίστα επιτρεπόμενων στις ρυθμίσεις πρόσβασης δικτύου.
- Ελέγξτε την κονσόλα για μηνύματα σφάλματος σύνδεσης βάσης δεδομένων.
- Το voice chat απαιτεί την ενότητα
[voice]στοserver.tomlσυν resources που υλοποιούν τη λογική των καναλιών φωνής. Η διαμόρφωση από μόνη της απλώς ρυθμίζει την υποδομή.
Προβλήματα Απόδοσης
- Κάντε profile στα resources σας για ακριβές λειτουργίες (βαριά loops, σύγχρονες κλήσεις βάσης δεδομένων, υπερβολική δημιουργία οντοτήτων).
- Χρησιμοποιήστε το
alt.setIntervalκαι τοalt.setTimeoutμε φειδώ. Οι βαριές λειτουργίες ανά tick είναι ο πιο συνηθισμένος καταστροφέας απόδοσης. - Παρακολουθήστε τα γραφήματα πόρων του GPanel για χρήση CPU και RAM.
- Εξετάστε το ενδεχόμενο αναβάθμισης του πλάνου του διακομιστή σας για υψηλό αριθμό παικτών. Ανοίξτε ένα δελτίο υποστήριξης για να συζητήσετε τις επιλογές.
Σχετικά Άρθρα
- Οδηγός Εγκατάστασης Διακομιστή alt:V — Αρχική εγκατάσταση, διαμόρφωση server.toml, voice chat και οδηγίες σύνδεσης
- Πώς να Βρείτε την IP και τη Θύρα του Διακομιστή σας
- Πώς να Ανεβάσετε Αρχεία μέσω SFTP
- Οδηγός Εκκίνησης Διακομιστή — Γενικός οδηγός για την εκκίνηση οποιουδήποτε διακομιστή παιχνιδιού στο Legion Hosting
Χρειάζεστε Περισσότερη Βοήθεια;
Εάν αντιμετωπίζετε προβλήματα που δεν καλύπτονται σε αυτόν τον οδηγό, η ομάδα υποστήριξής μας είναι διαθέσιμη για να σας βοηθήσει. Ανοίξτε ένα δελτίο στο legionhosting.net/submitticket.php με τα στοιχεία του διακομιστή σας, μια περιγραφή του προβλήματος και τυχόν σχετικά μηνύματα σφάλματος από την κονσόλα του GPanel.