Felhívjuk figyelmedet arra, hogy ez a GYIK bejegyzés már több mint egy éve nem volt frissítve ezért néhol helytelen leírásokat tartalmazhat. Amennyiben ilyen helytelen szövegrészt kérjük jelezd a szerkesztőség felé.
Szerverbeállítás by Pedro
Ahhoz, hogy felállíts egy MOHAA szervert, először is tisztában kell lenned néhány alapfogalommal. Nem árt tudni a dedikált és nem dedikált szerver közti hangyányi különbséget, tisztában lenni a konzolparancsok pontos jelentésével és használatával. Dedikált szerver az, amelyiken a játék szerveroldali - konzolos - verziója fut, linux, vagy windows környezetben. Nem dedikált szervert legkönnyebben a játékban indíthatsz, és ekkor te is - mint szerver - egy játékosként vehetsz részt az irtásban. Mindenképpen szükséged lesz a játék 1.11-es verziójára, valamint a SpearHead megfelelő kiadására, bár ez amúgy is elengedhetetlen az Internetes játékhoz. Nem árt bekapcsolni az Options -> Advanced Options menüben a console opciót, mivel csak így használhatod a játékba épített konzolt, amit általában a '0'-ás billentyűvel hozhatsz elő. Fontosnak tartom tisztázni az 'RCON' fogalmát, mivel úgy látom, kicsit még ködös a téma. (A szó egy rövidítés: Remote CONtrol, azaz távirányítás - Tyll) Ha nem használsz külön szerver-manager programot - remélem ezután nem is lesz rá szükséged - akkor nem elég, hogy ismered a főbb parancsokat, a játékkal valahogy tudatni kell, hogy ezt nem a saját gépeden akarod végrehajtatni, hanem a szerveren magán. Erre használják az 'RCON' parancsot, amit mindig az aktuális parancs elé kell beírni, tehát pl. restart helyett rcon restart a megfelelő utasítás. Természetesen akárki nem irányíthatja a szervert, ezért meg kell adni a szerver rcon jelszavát, amit konzolban lehet érvényesíteni: rconpassword jelszó. Az rcon parancsok listáját egyébként megtalálod a lap alján. Rcon parancsokat a játék konzoljában, valamint az All-Seeing Eye-ban lehet érvényesíteni. ASE-ben jobb gomb a szerver nevén, majd a lenyíló menüben 'Server Properties', itt megadod az rcon jelszót, majd újabb jobb click után 'remote console'. Itt irányíthatod a szervert, az egyetlen változás, hogy itt nem kell beírni az 'rcon' szócskát minden egyes parancs előtt - automatikusan rcon parancsnak veszi. Ha dedikált szervert akarunk felépíteni, két dologra lesz szükségünk: egy parancsikonra, valamint egy config file-ra. Készítsünk egy parancsikont a mohaa_server.exe-ről. Az ikon Target sorába írjuk be a következő sort:
C:\Program Files\EA GAMES\MOHAA\ MOHAA_server.exe" +set g_gametype 4 +set sv_maxclients 12 +map obj/obj_team1 +exec serverXX.cfg
Jelen esetben egy objektív szerverről van szó, ezt a g_gametype 4 mutatja meg. Legfeljebb 12-en csatlakozhatnak, és az első objektív pályával, azaz a Hunt-tal kezdünk. A szerver konfigja a serverXXX.cfg fájlban lesz beállítva, amelyet a játék main könyvtárába kell elhelyeznünk. Ez a cfg file nem más, mint egy egyszerű szövegfile, amely beállítja a szerver opcióit. Mellékelem a saját konfigomat, amelyet használni szoktam. A //-val kezdődő sorok megjegyzések, ezt nem veszi figyelembe a játék.
sv_hostname "OBJ server [CKR]"
//itt írhatjuk be szerverünk becses nevét
rconPassword blabla
//ebben a sorban adjuk meg a szerver rcon jelszavát, amivel később admin jogokat érvényesíthetsz
set password ""
set sv_privatePassword ""
//a szerver jelszava, ha nem szeretnénk, hogy bárki bejöhessen. A privát felhasználóknak saját jelszavuk van, valamint garantált helyük a szerveren.
fraglimit 0
//maximális fragek száma, aminek elérésével véget ér a pálya
//( 0 = nincs határ)
timelimit 20
//az egy pályára érvényes időhatár percekben mérve
//(0 = nincs időkorlát)
set g_teamdamage 0
//az amerikaiaknál oly divatos baráti tűz ki/ bekapcsolása
g_forcerespawn 0
//bekapcsolásával automatikusan újra spawnolsz a pályán (tehát nem kell várnod, míg véget ér a kör) itt másodpercekben kell beállítani
seta g_allowjointime 5
//jelen esetben a kör indulása után 5 másodpercen belül csatlakozhatsz egyik-másik oldal küzdelmébe, //amennyiben lassú voltál, meg kell várnod a következő kört.
set ui_console 1
//ez a kapcsoló is a console-t érvényesíti, mint azt a játék beállításainál láthattuk
deathmatch 1
seta g_allowVote 0
//szavazás kikapcsolása (ez ugyebár játékban a 'callvote map'-vel történik
set g_gametype 4
//játék típusa: 1- Free for All, 2-DeathMatch, 3-Roundbased, 4-Objective
map obj/obj_team1
//az 1-es OBJ pályával indítunk, ami a The Hunt
sv_maplist "obj/obj_team1 obj/obj_team2 obj/obj_team4"
//ezen pályák szerepelnek a körforgásban, jelen esetben az 1-es, 2-es, és 4-es OBJ pálya
sv_allowDownload 0
//elméleti lehetőség a szerverről való letöltésre (pl custom mapok), nem tudom, működik-e
sv_maxRate 15000
//adatátviteli sebesség a kliens és a szerver között (*)
sv_maxPing 900
//ennél nagyobb pinggel nem enged csatlakozni a szerverre
sv_fps 20
//a szerver fps értéke, alapból 20, növelése elméletileg növeli a sebességet is sv_floodProtect 1
//mircből ismerős üzenetáradat elleni védelem
set flood_waitdelay 10
//a szószátyár emberke üzenetei közötti időkorlát, jelen esetben 10 másodperc
set flood_persecond 4
//az az időmennyiség, amelyen belül floodnak számít az egy sorral lejjebb megadott üzenetszám, tehát 4 mp-n //belül elküldött 4 üzenet számít floodnak (többfajta magyarázatot is találtam erre, és az sem biztos, hogy //működik)
set flood_msgs 4
// egymás utáni 4 üzenet számít floodnak az egyel feljebb levő sorban megadott időn belül
sv_pure 0
//beépített PAK3 ellenőrző, de nem működik
sv_gamespy 1
//itt engedélyezhetjük, hogy szerverünk látható legyen-e GameSpy/ASE-ban, valamint a beépített keresőben
set g_inactiveKick 0
//másodpercekben megadott időkorlát, ami után az inaktív klienst kirúgja a szerver
set g_inactiveSpectate 300
//ugyanaz, csak itt spectator módba rak ki, nem rúg ki egyből
net_noipx 1
//IPX hálózat letiltása, csak TCP/IP engedélyezett
net_port 12203
//a szerverport értéke, ez kell a csatlakozáshoz, nem elég az IP cím. Default a 12203
sets !admin "...:::HES:::...Pedro"
sets !Clan ...:::HES:::...
sets !Connection 100Mbit
sets !CPU "AthlonXp 1600+"
sets !Email
pedrohsi©freemail.husets !IRC #hes.hu
sets !Memory 512MB
sets !Webpage "http://www.freeweb.hu/ hes/index.php"
//ezek nem beállítások, csupán információk, amelyek megjelennek az ASE-ben. Azért kezdődnek !-vel, hogy elöl //legyenek:)
//végül pedig egy üres sor kell a cfg file végén
Ez a konfigurációs fájl tökéletesen elegendő egy jó szerver elindításához, ennél többre nincs is szükség. Természetesen attól függően kell beállítani, hogy milyen típusú játékot indítunk el, melyik pályákkal, mennyi időre, hány emberrel. Néhány apróság a végére: A különböző pályák típusuktól függően eltérő könyvtárakban helyezkednek el. Tehát hiába vannak becsomagolva egy pk3 fájlba, meg kell adnunk a helyes elérési útvonalat, amikor hivatkozunk rájuk.
A teljes pálya lista:
OBJ:
obj/obj_team1 The Hunt
obj/obj_team2 V2 Rocket Facility
obj/obj_team3 Omaha Beach
obj/obj_team4 The Bridge
TeamDeathmatch/ Roundbased:
dm/mohdm1 Southern France
dm/mohdm2 Destroyed Village
dm/mohdm3 Remagen
dm/mohdm4 The Crossroads
dm/mohdm5 Snowy Park
dm/mohdm6 Stalingrad
dm/mohdm7 Algiers
*Az sv_maxrate értelmezése:
Ez az érték határozza meg, hogy a szerver mekkora sávszélességet használ egy-egy klienshez. Ez a következő egyenlettel határozható meg:
# kliens * sv_maxrate * 8(8bit) = feltöltési sebesség, vagy feltöltési sebesség / ( # kliens * 8 ) = sv_maxrate
Tehát ha egy 512/128 kbps/sec kábelnetes eléréssel akarok egy 12 fős szervert elindítani, akkor az sv_maxrate 1332 kell hogy legyen (ami egyébként irtózatosan kevés): 12 * 1332 * 8 = 127872 = 128 kbit - ugyebár a feltöltési sebességet használjuk, nem az 512kbites letöltési sebességet. Ugyanakkor, ha egy 100Mbites T3 hálózaton működtetünk egy 18 fős szervert 15000-es maxrate értékkel(ami egészen jó), akkor 2Mbitet használunk fel a hálózat sávszélességéből.
Amennyiben realism modos szervert indítanánk el, ehhez szükségünk lesz a pk3 fájlra, ami netről letölthető, és ckr111-nek hívják. A Quake engine rendelkezik azzal a tulajdonsággal, hogy könnyen módosítható különböző pk3 fájlok használatával. Így indíthatunk el realismos, vagy egyéb úton-módon módosított szervert. A legelterjedtebb realism mod a ckr111.pk3, ezen kívül még létezik néhány kevésbé ismert/kedvelt mod. Letölthető ugyanakkor lángszóró, molotov-koktél, és rengeteg egyéb finom módosítás a játékhoz.
Nagyjából ennyi tudásra van szükségünk egy MOHAA szerver felállításához. A teljes RCON utasítás-listát is mellékelem, sosem árt tudni az egyéb elrejtett parancsok működését, értelmét. Pedro.
rcon parancslista:
rconpassword XXXX
(rcon-os jelszó, amivel ezentúl hozzáférsz a szerverhez)
rconaddress ipcim
(ha nem vagy a szerveren, ezzel tudod megadni a célszerver címét)
rcon status
(a játék és játékosok pillanatnyi állapotát jeleníti meg)
rcon kick "akárki"
(kirúgás)
rcon map pálya neve
(a pályaváltás parancsa, pályák nevét lsd. fentebb)
rcon g_gametype X
(játéktípus beállítása. 1-FreeForAll 2-TeamDeathMatch 3-RoundBasedMatch 4-OBJectiv)
rcon set g_teamdamageX
(Friendly Fire, azaz csapatsebzés beállítása. X=0 nincs, X=1 van.)
rcon say
(ez az, amikor a játék ilyesmit ír ki: console: Mi van pupakok?

)
rcon timelimit X
(az adott pálya időlimitjét állítja be)
rcon roundlimit X
(az adott (OBJ) pálya körlimitjét állítja be)
rcon restart
(a pálya újraindítása, (nem újratöltés!), jó pl. játékidő lenullázására)
rcon password "jelszó"
(a szervert jelszavas védelemmel látja el)
rcon sv_privatePassword "jelszó"
(másik fajta jelszó, privát klienseknek)
rcon sv_privateclients X
(X= 0-32 a privát kliensek számát állítja be)