Serverio Veikimas

From SA-MP Wiki

Jump to: navigation, search

flag_lithuania.png
Pagrindinis
Funkcijos
Callback'ai
Resursai

Contents

Serverio failų gavimas

Norint sukurti SA-MP serverį turėti SA-MP klientą neužtenka. Serveriui kurti mums prireiks specialių serverio failų. Dabartinė SA-MP serverio stabili versija yra 0.3e R2. Kaskart atsinaujinus SA-MP, naujausius serverio failus galite atsisiųsti iš oficialios modifikacijos svetainės www.sa-mp.com. Tinklalapyje paspauskite ant nuorodos pavadinimu Downloads ir nueisite į siuntinių skyrių. Atsivėrusiame puslapyje turėtumėte matyti kelių rušių SA-MP serverio failus.

Operacinė sistema Versija
SA-MP Windows Server 0.3e
SA-MP Linux Server (x86) 0.3e

Šie failai skirti specialiai operacinei sistemai, kurioje jūs planuojate kurti savo SA-MP serverį. Jei naudosite Windows aplinką ( Windows 7, Windows Vista, Windows XP, Windows Server 2003, ... ) pasirinkite pirmąjį variantą. Jei jūsų operacinė sistema yra Linux, tuomet pasirinkite antrąjį variantą.

Turbūt pas daugumą kompiuteriuose yra naudojama Windows operacinė sistema, tuomet kyla klausimas, "Kur naudoti Linux serverio failus?". Atsakymas paprastas. Dauguma serverių su projektais nėra laikomi paprastuose buitiniuose kompiuteriuose, kadangi kompiuterį tektų laikyti įjungti gana ilgai, o tai nemažai kainuotų, be to reiktų gana greito interneto. Tokių serverių savininkai nuomojasi VPS ( Virtualų privatų serverį ) ir jame laiko serverį. Toks serverio laikymas kainuoja žymiai pigiau, bei saugiau, kadangi daugumoje tokių serverių naudojama Linux operacinė sistema.

Jei norite išbandyti bandomąsias San Andreas Multiplayer versijas, kurios yra kūrimo stadijoje bei nesiūlomos naudoti viešiems serveriams, atsisiųskite šias nurodytas bylas:

Klientas Serveris Versija Data
Šiuo metu jokių bandomųjų versijų nėra.

Serverio įdiegimas

Serverio įdiegimas nėra sudėtingas procesas, kaip gali atrodyti iš pirmo žvilgsnio. Atsisiuntę serverio failus savo naudojamai operacinei sistemai, juos atsidarykite su archyvavimo programa, kadangi failai bus archyve. Tam galima naudoti įvairius archyvatorius. Aš naudosiu turbūt gana dažnam žinomą programą WinRAR. Paspaudžiame ant serverio failų archyvo su dešiniu klavišu ir pasirenkame pasirinkimą "Extract to ...". Archyvatorius turėtų išskleisti failus į naują katalogą.

Idiegimas_1_I3.png Idiegimas_2_I3.png Idiegimas_3_I3.png

Serverio failai

Dabar atsidarykime atsiradusį aplankalą ir apžvelgsime jame esančius serverio failus.

Serverio_Failai_I3.png


Pradėsime nuo tekstinių bylų.

Failas Paskirtis
server-readme Serverio paleidimo instrukcija anglų kalba.
samp-license Licenziją, kurią turėdami galite laisvai sukurti SA-MP serverį. Taip pat jį vertėtų pasiskaityti prieš pradedant kurti serverį, nes jame surašytos taisyklės, kurių reikia laikytis kitaip licenzija, kurią turite, negalios.
server.cfg Pagrindiniai serverio nustatymai. Su šiais nustatymais susipažinsime vėliau. (*)

(*) Neišsigąskite jog failo piktograma skiriasi nuo prieš tai minėtų tekstinių bylų. Ji turi kitą failo plėtinį cfg. Ji atidaroma su bet kuriuo tekstinių bylų redaktoriumi.

Ką gi... Likę failai yra svarbiausios serverio dalys.

Failas Paskirtis
samp-server.exe Šis failas yra pagrindinė serverio dalis. Jame vyks jūsų suprogramuoti procesai.
samp-npc.exe Šis failas bus naudojamas tik tuomet jei savo serveryje naudosite NPC.
announce.exe Failas reikalingas norint jog jūsų serveris pasiektų pagrindinį Sa-MP serverį, kuriame saugoma informacija apie jūsų serverį. Kitaip tariant, jis padeda jūsų serverį rodyti kitiems žaidėjams savo Sa-MP serverių naršyklėje.

Pereikime prie serverio aplankų.

Failas Paskirtis
filterscripts Jame laikomi serverio priedai ( įvairūs suprogramuoti skriptai ), kuriuos galite atjungti/prijungti prie serverio veikimo nesustabdę serverio darbo.
gamemodes Laikomi jūsų serverio pagrindiniai suprogramuoti skriptai, be kurių serveris neveiks.
include Šis aplankas nėra būtinas. Jame galite saugoti norimą informaciją. Taippat galite sukurti savo norimą aplanką su norimu pavadinimu, kuriame laikysite savo informaciją, kurią galėsite naudoti serverio tikslams.
npcmodes Aplankas skirtas saugoti prieš tai minėtų NPC informacijai.
pawno Speciali programa, skirta programuoti Sa-MP skriptams.
scriptfiles Aplankas skirtas saugoti įvarius duomenis.

Serverio įjungimas

Serverio įjungimas nėra sudėtingas dalykas. Pirmiausia atsidarykime savo serverio aplanką ir susiraskime anksčiau minėtą failą samp-server. Paspauskite ant jo 2 kartus. Jeigu buvote atidūs, turėjote pastebėti juodą programos langą, kuris staiga išsijungė. Išsijungimo priežastis yra ta, jog serverio nustatymai nepilnai sukonfigūruoti.

Vėl atsidarykite savo serverio aplanką ir turite pamatyti naujai susikūrusią tekstinę bylą server_log. Atsidarykime ją su betkokiu tekstinių bylų redaktoriumi. Šioje byloje bus laikomi visi įrašai, kurie bus atspausdinami serverio konsolėje ( tame juodame lange, kuris prieš tai staiga išsijungė ). Taigi matote jog byloje kažkas užrašyta angliškai:

Loaded log file: "server_log.txt".
----------

SA-MP Dedicated Server
----------------------
v0.3b R2, (C)2005-2010 SA-MP Team

[14:05:08] Error: Your password must be changed from the default password, please change it.

Byloje skaitome tekstą nuo apačios ir ieškome pirmos klaidos dėl kurios išsijungė serveris. Jei mokate anglų kalba, pamatę žodį Error, turėjote suprasti, jog kažkur įvyko klaida. Paskaičius klaidos aprašymą suprantame jog serveris neįsijungia dėl to jog serverio slaptažodis nėra nustatytas.

Norint nustatyti slaptažodį atsidarykime kitą tekstinę bylą server. Primenu jog šioje byloje laikomi serverio pagrindiniai nustatymai. Atsidarę bylą susiraskime eilutę su žodžiu rcon_password. Prie jo matome kitą žodį changeme. Tai prieš tai esančio žodžio reikšmė. Pakeiskime žodį changeme į kitą reikšmę, pvz: 123456. Išsaugome bylos pakeitimus. Nuo šiol mūsų serverio slaptažodis bus 123456.

Vėl du kartus spustelkite ant samp-server programos. Jei serverį įjungiate pirmą kartą, jums turėtų atsiverti papildomas Windows Security langas su pranešimu apie programos prašymą prisijungti prie interneto. Paspauskite Unblock pasirinkimą. Dabar serveris galės prisijungti prie interneto.

Serveris_I3.png

Grįžkime prie serverio lango. Matome jog jame yra įvairaus teksto, su įvairias pranešimais. Ką gi sėkmingai serverį įjungėme. Dabar galima serverį išjungti. Tai padarykime išjungę programą, kaip ir kitas programas.

Serverio nustatymai

Visų pirma serverį galima kontroliuoti įvairiais būdais. Pirmasis valdymo būdas - tai serverio kontroliavimas naudojant pačio serverio console'ę.

Įsijunkime savo serverį. Norėdami vykdyti įvairius veiksmus, komandas turėsime rašyti atsidariusioje console'ėje. Pirmiausia įrašykime komandą cmdlist ir paspauskime ENTER klavišą. Matome jog serveris atspausdino tam tikrą tekstą, pažvelkime į jį:

Console Commands:
   echo
   exec
   cmdlist
   varlist
   exit
   kick
   ban
   gmx
   changemode
   say
   reloadbans
   reloadlog
   players
   banip
   unbanip
   gravity
   weather
   loadfs
   unloadfs
   reloadfs

Taigi ši komanda cmdlist atvaizduoja komandų sąrašą, kurias galime naudoti console'lėje. Deja čia atvaizduotos ne visos įmanomos komandos. Štai jų pilnas sąrašas su paaiškinimais:

Komanda Parametrai Veiksmas
cmdlist (-) Atvaizduojamas komandų sąrašas.
varlist (-) Atvaizduojami serverio pagrindiniai kintamieji, bei jų reikšmės.
exit (-) Sustabdomas serverio veikimas.
echo tekstas[] Atspausdinamas įvestas tekstas console'ėje.
hostname name[] Pakeičiamas serverio pavadinimas į įvestą tekstą.
gamemodetext pavadinimas[] Pakeičiamas serveryje naudojamo gamemode pavadinimas į įvestą tekstą.
mapname pavadinimas[] Pakeičiamas serverio žemėlapio pavadinimas į įvestą tekstą.
exec failo_pavadinimas[] Atidaromas tekstinė byla, kurios pavadinimą įvedėte.
kick id Išspiriamas iš serverio žaidėjas, kurio ID įvedėte.
ban id Užblokuojamas žaidėjas, kurio ID įvedėte.
changemode gamemode[] Pakeičiamas serveryje naudojamas gamemode į jūsų įrašytą gamemode.
gmx (-) Serveris įjungs patį pirmąjį gamemode, kuris nustatytas server.cfg byloje.
reloadbans (-) Bus ištrinama informacija iš samp.ban bylos, kurioje saugoma blokavimų informacija.
reloadlog (-) Bus ištrinama informacija iš server_log bylos.
say tekstas[] Parodomas įvestas tekstas, žaidėjams esantiems žaidime.
players (-) Rodoma serveryje esančių žaidėjų informaciją, įskaitant IP adresus, bei ping.
banip ip[] Užblokuojamas įvestas IP adresas.
unbanip ip[] Atblokuojams įvestas IP adresas.
gravity float:gravitacija Pakeičiama serverio gravitaciją į jūsų įvestą realujį skaičių.
weather oras Pakeičiamas serverio oras į jūsų įvestą.
loadfs filterscript[] Paleidžiamas įvestas filterscript'as.
unloadfs filterscript[] Sustabdomas įvesto filterscript'o veikimas.
reloadfs filterscript[] Sustabdomas bei paleidžiamas iš naujo įvestas filterscript'as.
rcon_password slaptažodis[] Pakeičiamas serverio slaptažodis į įvestąjį.
announce 0 arba 1 Pakeičiamas privatumas. 0 - serveris nebus rodomas Sa-MP serverių naršyklėje, 1 - rodomas.
bind ip[] Priverčia serverį naudoti įvestą ip, tačiau nurodytas ip turi būti suderintas su tinklo plokšte.
port prievadas[] Nustatomas serverio prievadas.
filterscripts filterscriptai[] Aktyvių filterscriptų sąrašas.
gamemode0 gamemode[], kiekis Nustatomas pasirinktas gamemode bei kiekis, kiek kartų bus naudojamas šis gamemode.
gamemode1 gamemode[], kiekis Nustatomas pasirinktas gamemode bei kiekis, kiek kartų bus naudojamas šis gamemode.
gamemode2 gamemode[], kiekis Nustatomas pasirinktas gamemode bei kiekis, kiek kartų bus naudojamas šis gamemode.
gamemode3 gamemode[], kiekis Nustatomas pasirinktas gamemode bei kiekis, kiek kartų bus naudojamas šis gamemode.
gamemode4 gamemode[], kiekis Nustatomas pasirinktas gamemode bei kiekis, kiek kartų bus naudojamas šis gamemode.
gamemode5 gamemode[], kiekis Nustatomas pasirinktas gamemode bei kiekis, kiek kartų bus naudojamas šis gamemode.
gamemode6 gamemode[], kiekis Nustatomas pasirinktas gamemode bei kiekis, kiek kartų bus naudojamas šis gamemode.
gamemode7 gamemode[], kiekis Nustatomas pasirinktas gamemode bei kiekis, kiek kartų bus naudojamas šis gamemode.
gamemode8 gamemode[], kiekis Nustatomas pasirinktas gamemode bei kiekis, kiek kartų bus naudojamas šis gamemode.
gamemode9 gamemode[], kiekis Nustatomas pasirinktas gamemode bei kiekis, kiek kartų bus naudojamas šis gamemode.
gamemode10 gamemode[], kiekis Nustatomas pasirinktas gamemode bei kiekis, kiek kartų bus naudojamas šis gamemode.
gamemode11 gamemode[], kiekis Nustatomas pasirinktas gamemode bei kiekis, kiek kartų bus naudojamas šis gamemode.
gamemode12 gamemode[], kiekis Nustatomas pasirinktas gamemode bei kiekis, kiek kartų bus naudojamas šis gamemode.
gamemode13 gamemode[], kiekis Nustatomas pasirinktas gamemode bei kiekis, kiek kartų bus naudojamas šis gamemode.
gamemode14 gamemode[], kiekis Nustatomas pasirinktas gamemode bei kiekis, kiek kartų bus naudojamas šis gamemode.
gamemode15 gamemode[], kiekis Nustatomas pasirinktas gamemode bei kiekis, kiek kartų bus naudojamas šis gamemode.
incar_rate rate Minimalus milisekundžių kiekis, per kurį žaidėjo informacija siunčiama serveriui kuomet jis būna tranporto priemonėje.
onfoot_rate rate Minimalus milisekundžių kiekis, per kurį žaidėjo informacija siunčiama serveriui kuomet jis nėra tranporto priemonėje.
weapon_rate rate Minimalus milisekundžių kiekis, per kurį žaidėjo informacija siunčiama serveriui kuomet jis naudojasi ginklais.
stream_distance atstumas Atstumas dvimatėje plokštumoje, kuriam esant tarp prisijungusių žaidėjų bus atnaujinama žaidėjų informacija.
stream_rate rate Milisekundžių kiekis, kuris turi praeiti kol tikrins stream_distance atstumą su atstumu esančių tarp žaidėjų.
lanmode 0 arba 1 Pakeiča lanmode rėžimą. 0 - išjungia, 1 - įjungia.
maxnpc npc_kiekis Nustato maksimalų leistiną NPC kiekį serveryje.
max_players žaidėjų_kiekis Nustato maksimalų leistiną žaidėjų kiekį serveryje.
password slaptažodis[] Nustatomas slaptažodis, kurį reikės įvesti norint prisijungti į serverį.
plugins plugin'ai[] Serverio naudojamų plugin'ų sąrašas.
rcon 0 arba 1 Nustatomas nuotolinio serverio valdymo galimybė. 0 - išjungia, 1 - įjungta.
version tekstas[] Serverio versija.
weburl adresas[] Pakeičiamas serverio internetinis puslapis į įvestąjį.
worldtime laikas Nustatomas globalus serverio laikas į įvestąjį.
timestamp 0 arba 1 1 - įjungiamas laiko žymeklis prie kiekvieno įrašo server_log byloje, 0 - išjungiamas.
nosign tekstas[] Reikšmė nežinoma.
myriad 0 arba 1 Reikšmė nežinoma.
query 0 arba 1 0 - išjungiamas galimas jungimasis prie serverio (dvipusis ryšys - angl. „socket connection“), 1 - ryšys įgalinamas.
logqueries 0 arba 1 1 - įjungiamas jungimųsi prie serverio fiksavimas, 0 - išjungiamas. Įjungus šį parametrą, bus parodomi visi prisijungimai prie serverio aprašyti prie aukščiau esančio kintamojo „query“.
sleep kintamasis Laiko tarpas tarp serverio vykdomų procesų, per kurį serveris nieko nevykdo. Naudojant didesnę reikšmę, serveriui prireiks mažiau išteklių, kadangi procesai vyks rečiau, tačiau dėl to kentės žaidimo kokybė. Naudojant mažesnę reikšmę, serveris sunaudos daugiau resursų, tačiau pagerės serverio darbas, visi jo vykdomi procesai taps tikslesni.
output 0 arba 1 1 - ?, 0 - ?.Šis nustatymas neturi įtakos, jei serveris veikia Windows platformoje.

Nuo SA-MP 0.3c R2 versijos galimos komandos:

Komanda Parametrai Veiksmas
logtimeformat datos_formatas[] Nustato datos formatą, ties kiekvienu sakiniu server_log byloje. Pavyzdžiui nustačius reikšmę į "[%Y/%m/%d/ %H:%M:%S]", data bus atvaizduojama taip: "[metai/mėnuo/diena/ valanda:minutė:sekundė]".

Nuo SA-MP 0.3e R2 versijos galimos komandos:

Komanda Parametrai Veiksmas
chatlogging reikšmė Kontroliuojamas pokalbių lango pranešimų saugojimą į „server_log.txt“ bylą. 1 - žinutės bus įrašomos į bylą, 0 - nebus.

Reikšmė
Šio parametro naudojamo serveris neriboja.
Šio parametro keisti negalima, jei serveris aktyvus.
Šio parametro keisti negalima.

Serverio nustatymai, kurie nebeegzistuoja dabartinėje SA-MP 0.3e R2 versijoje:

Komanda Parametrai Veiksmas Panaikinta
anticheat 0 arba 1 1 - nurodoma, jog serveris turi naudoti apsaugos priemones, 0 - apsaugos priemonės nenaudojamos. 0.2.2 R3
instagib 0 arba 1 Nurodo, ar žaidėjas turi mirti peršautas nuo vienos kulkos. 1 - ypatybė įjungiama, 0 - išjungiama. 0.3
incar_rate_idle rate Reikšmė nežinoma. Šis nustatymas egzistavo tik SA-MP 0.2.5 versijoje, kurios oficialaus išleidimo nebuvo. n/a
onfoot_rate_idle rate Reikšmė nežinoma. Šis nustatymas egzistavo tik SA-MP 0.2.5 versijoje, kurios oficialaus išleidimo nebuvo. n/a
density_multiplier multiplier Reikšmė nežinoma. Šis nustatymas egzistavo tik SA-MP 0.2.5 versijoje, kurios oficialaus išleidimo nebuvo. n/a

Daugumą šių nustatymų galite kontroliuoti tekstinėje byloje server su plėtiniu cfg. Atsidarykite jį ir prie norimos komandos parašykite jums reikalingą reikšmę. Jei byloje nėra jums reikiamos komandos, tuomet ją įrašykite naujoje eilutėje.

Kitas būdas valdyti serverį - tai serverio valdymas per nuotolį (ang. remote console). Šis įrankis yra jūsų GTA San Andreas žaidimo pagrindiniame aplanke bei pačioje SA-MP kliento programoje.

Šiuo metu RCON įrankis nėra įdiegtas pačiame kliente, todėl norėdami jį pasileisti turite jo paleidimą atlikti rankiniu būdu. Jei apie tai nenusimanote, patariame pasinaudoti vienu iš šių skriptų ( daugiau informacijos apie jį surasite paspaudę atitinkamą nuorodą ):

Failas Autorius
Bat RCON Tool Mike Garber
RCON remote console starter Kwarde

Gamemode nustatymas

Dabar pabandysime paleisti konkretų gamemode serveryje.

Pirmiausia atsidarykite savo serverio pagrindinį aplanką bei suraskite jame gamemodes aplanką. Atidarę jį jau turėtumėte matyti keletą failų. Tai gamemode failai. Norint, jog serveris taisyklingai paleistų gamemode'ą, aplanke turi būti leidžiamo gamemode'o failas su amx plėtiniu. Taigi... Į aplanką gamemodes įkelkite norimo gamemode amx failą.

Įkėlę failą gryžkite į pagrindinį serverio aplanką ir atidarykite nustatymų failą server.cfg. Jame susiradę eilutę gamemode0 prie jos prirašykite leidžiamo gamemode'o failo pavadinimą. Mano atveju tai bus:

gamemode0 lvdm 1

Primenu, jog "1" reiškia šio gamemode'o paleidimo kartus.

Uždarykite šią bylą išsaugoję pakeitimus. Dabar galite įjungti serverį ir išbandyti norimą gamemode'ą.

Filterscript'ų kontroliavimas

Filterscript'ai valdomi taippat kaip gamemode'ai.

Norėdami paleisti filtersctipt'ą, pirmiausia atidarykite serverio aplanke esantį aplanką - filterscripts. Tai aplankasm kuriame turės būti laikomi filterscript'ų failai su amx plėtiniu.

Susiradę norimą filterscript'ą, įkelkite jo amx failą į nurodytą katalogą ir atsidarykite server.cfg bylą. Joje susiraskite eilutę filterscripts. Prie jos prirašykite naudojamo filterscript'o failo pavadinimą.

Pavyzdys:

filterscripts adminspec

Norėdami prie serverio prijungti daugiau filterscriptų, jų pavadinimus atskirkite tarpo simboliu. Tik neužmirškite jog maksimalus filterscriptų kiekis yra 16.

Jei serveriui veikiant užsimanysite atjungti filtersctipt'ą, tuomet jums reikės serverio konsolėje pasinaudoti komanda unloadfs. Įvedė šią komandą prie jos parašykite norimo atjungti filterscript'o pavadinimą. Apie veiksmo sekmę jums praneš pats serveris:

Filterscript_I3.png

Plugin'ų naudojimas

SA-MP modifikacijoje yra galimybė prie serverio prijungti įvairius plugin'us, kurie atlieka tam tikrą paskirtį. Jų naudojimas nėra sudėtingas dalykas. Svarbiausia, jog plugin'o failai būtų serverio pagrindiniame aplanke esančiame plugins aplanke.

Taigi norėdami prijungti kokį nors plugin'ą... Įkelkime jo failus į nurodytą aplanką. Svarbu nepamiršti, jog dažniausiai kiekvienai operacinei sistemai reikia turėti atskirus plugin'o failus. Įkėlę plugnio failus, atsidarykite serverio nustatymų tekstinę bylą server.cfg ir joje susiradę eilutę plugins, prie jos surašykite visus naudojamus pluginus. Štai ir viskas. Paleidus serverį, automatiškai bus paleistas ir pluginas.

Personal tools
Navigation
Toolbox