Rulează propriul gamemode SA-MP: filterscripturi, pluginuri și MySQL

Încarcă propriul gamemode SA-MP pe un server Torchlite gratuit: fișiere .amx, filterscripturi, pluginuri .so pentru Linux, server.cfg, o bază de date MySQL pentru conturi și erorile pe care le vei întâlni.

4 min de cititDe Echipa TorchliteActualizat

Rulează propriul gamemode SA-MP: filterscripturi, pluginuri și MySQL
Pe această pagină

Un server SA-MP nou pe Torchlite pornește cu gamemode-ul implicit, ca să te poți conecta imediat. Majoritatea comunităților rulează propriul gamemode: unul de roleplay, freeroam, stunt sau deathmatch, scris în Pawn, cu filterscripturi alături și câteva pluginuri precum sscanf, streamer sau MySQL. Acest ghid mută pas cu pas propriul tău gamemode pe server și îl conectează la baza de date MySQL pe care o primește fiecare server Torchlite.

Tot ce găsești aici funcționează și pe un server open.mp cu un gamemode SA-MP, cu o singură diferență, descrisă la final.

De ce ai nevoie

  • Gamemode-ul tău compilat într-un fișier .amx. Dacă ai doar sursa .pwn, compilează-l mai întâi pe calculatorul tău cu compilatorul Pawn (pawno, sau Qawno pentru open.mp).
  • Fișierele .amx ale filterscripturilor tale.
  • Versiunea pentru Linux a fiecărui plugin folosit de gamemode. Un plugin este un .dll pe Windows și un .so pe Linux, iar serverul de aici rulează pe Linux, deci se încarcă doar fișierele .so.
  • Un client SFTP, precum FileZilla sau WinSCP, pentru încărcările mai mari. Ghidul SFTP îți arată cum te conectezi.

Oprește serverul înainte de a începe, ca nimic să nu scrie în fișiere cât timp le înlocuiești.

Încarcă fișierele

Deschide Files în panel sau conectează-te prin SFTP și pune fiecare fișier în folderul lui:

CeFolderExemplu
Gamemodegamemodesgamemodes/myrp.amx
Filterscripturifilterscriptsfilterscripts/admin.amx
Pluginuripluginsplugins/sscanf.so
Date pe care scripturile tale le citesc și le scriuscriptfilesscriptfiles/users/

Încarcă fișierele .amx compilate, nu sursele .pwn: serverul nu poate compila cod.

Indică fișierele în server.cfg

Deschide server.cfg în Files. Acestea sunt liniile care contează:

text
gamemode0 myrp 1
filterscripts admin anticheat
plugins sscanf.so streamer.so mysql.so
maxplayers 50
hostname My Roleplay Server
  • gamemode0 este numele fișierului fără .amx, urmat de numărul de repetări înainte de următorul gamemode; 1 înseamnă un singur gamemode.
  • filterscripts listează numele filterscripturilor fără .amx, separate prin spații.
  • plugins listează fișierele pluginurilor cu .so, în ordinea în care trebuie încărcate. Pune sscanf și streamer înaintea pluginurilor care depind de ele.
  • maxplayers este numărul de jucători care se pot conecta în același timp.

Lasă linia port neschimbată: panelul o scrie la fiecare pornire. Linia rcon_password este parola de administrare a serverului; ține-o secretă sau setează una nouă la RCON password, pe pagina Startup.

Salvează, apoi apasă Start și urmărește consola. O pornire reușită listează fiecare plugin ca încărcat și se termină cu mesajele de pornire ale gamemode-ului tău.

Conectează gamemode-ul la MySQL

Gamemode-urile de roleplay țin de obicei conturile, casele și vehiculele într-o bază de date MySQL. Fiecare server Torchlite poate avea una, gratuit:

  1. În panel, deschide Databases și apasă New Database. Dă-i un nume și lasă Connections from pe %.
  2. Deschide baza de date nouă ca să vezi Database Details: Endpoint (host și port, de exemplu mysql.torchlite.host:3306), utilizatorul și parola, alături de numele bazei de date. Apasă pe o valoare ca s-o copiezi.
  3. Pune cele patru valori acolo unde gamemode-ul tău își citește setările MySQL. Multe gamemode-uri le țin în câteva linii #define sau într-un fișier din scriptfiles; cu pluginul MySQL, conexiunea se deschide cu mysql_connect(host, user, password, database).
  4. Majoritatea gamemode-urilor vin cu un fișier .sql care creează tabelele lor. Importă-l cu orice client MySQL de pe calculatorul tău, precum HeidiSQL sau DBeaver, conectat la același endpoint.

Folosește host-ul exact așa cum îl arată panelul. localhost nu funcționează: baza de date rulează pe un server de baze de date separat, nu în interiorul serverului tău de joc. Ghidul MySQL descrie mai în detaliu crearea bazei de date.

Ține serverul pornit

Un server gratuit rulează cât timp îl reînnoiești în panel, la fiecare 50 de minute pe Lite și la fiecare 40 pe Turbo. O comunitate de roleplay vrea de obicei serverul pornit câteva ore în fiecare seară; ține panelul deschis într-un tab și apasă Renew când ți se cere. Dacă ratezi reînnoirea, serverul se oprește și nu se pierde nimic; apasă Start și se încarcă același gamemode. Ghidul de reînnoire cuprinde toate regulile.

Fă un backup înainte de actualizările mari ale gamemode-ului și păstrează sursele .pwn pe calculatorul tău sau pe GitHub, nu doar pe server.

Servere open.mp

Un server open.mp rulează și gamemode-uri SA-MP, iar majoritatea pluginurilor SA-MP se încarcă pe el neschimbate. Setările lui se află în config.json, nu în server.cfg: gamemode-ul se pune la pawn.main_scripts, filterscripturile la pawn.side_scripts, iar pluginurile vechi la pawn.legacy_plugins. open.mp încarcă și propriile componente din folderul components, care înlocuiesc unele pluginuri vechi.

Probleme frecvente

"Failed to load plugin" în consolă

Fișierul este .dll-ul pentru Windows sau pluginul are nevoie de o bibliotecă de sistem pe care serverul nu o are. Descarcă versiunea .so pentru Linux a pluginului; pentru pluginurile care depind de biblioteci suplimentare, alege o versiune care le include.

Serverul se oprește imediat după "Loading gamemode"

Numele gamemode-ului din gamemode0 nu corespunde niciunui fișier din gamemodes sau gamemode-ul apelează o funcție nativă dintr-un plugin care nu s-a încărcat. Citește liniile de chiar deasupra opririi: funcția nativă sau fișierul lipsă este numit acolo.

"Could not connect to MySQL"

Host-ul, utilizatorul, parola sau numele bazei de date nu corespund cu pagina Databases sau gamemode-ul folosește localhost. Copiază din nou cele patru valori din panel.

Jucătorii văd "Server didn't respond"

Serverul încă pornește sau s-a oprit fiindcă a expirat timerul de reînnoire. Verifică consola, apasă Start dacă e nevoie și conectează-te cu adresa afișată în partea de sus a paginii serverului tău.

Te-ai blocat la un pas?

Întreabă pe forum. Întrebarea ta trimite înapoi la ghid, ca cine răspunde să știe unde ai rămas.

Întreabă despre ghid

Despre autor

Echipa Torchlite

Oamenii care administrează Torchlite

Construim și administrăm panelul Torchlite și nodurile. Fiecare ghid e verificat pe serverele noastre înainte să apară și actualizat când se schimbă panelul.

Ai găsit o greșeală? Spune-ne pe Discord

Ghiduri similare

Toate ghidurile →