Sunday, July 22, 2012

PunkBuster Telepítés/Frissítés Linuxon (Debian)


Ez a cikk a kezdő játékszerver üzemeltetőknek szól. Szinte az összes játéknál elengedhetetlen, hogy a szerveren a legfrissebb PunkBuster fusson, ennek hiányában nagy mértékben csökkenhet a játékélmény, és csak fikázzák a klassz szerverünket. A PunkBuster telepítéséhez, és frissítéséhez szintén nincs szükség nagy Linux-os szakértelemre, a cikket végigkísérve sikeresen végrehajthatjátok.
Telepítés
Első lépésként hozzunk létre egy mappát, majd másoljuk be a pbsetup.run nevű fájlt, amelyet innen tudunk letölteni. A letöltött fájlt valahogy juttassuk el a szerverre (pl.: FTP).
mkdir /usr/local/games/pb
cd /usr/local/games/pb
Tegyük a letöltött fájlt futtathatóvá:
chmod +x pbsetup.run
Beállítás
A pbsetup.run indításával tudunk hozzáadni, törölni játékokat, illetve a szervereken frissíteni a PunkBustert, az -ag kapcsolóval válaszhatjuk ki a játék nevét (add-game), és az -apkapcsolóval az elérését (add-path). A játék neve legyen pl.: bf2 ( Battlefield 2), az elérése legyen: /usr/local/games/bf2.
./pbsetup.run -ag bf2 -ap /usr/local/games/bf2
Ezen sor ismétlésével adhatunk hozzá további játékokat is. A -u kapcsolóval  egyszerre frissíthetjük az összes szervert, a PunkBuster ezután elméletileg frissíti magát, gyakorlatilag nem biztos, ezért érdemes néha kiadni a parancsot, hogy mindenképpen frissüljön.
./pbsetup.run -u
További
A -l kapcsolóval kilistázhatjuk a telepített játékokat, és a verziókat.
./pbsetup.run -l

Battlefield 2 szerver készítés linuxon


A cikkben egy Battlefield 2 szerver létrehozását fogom bemutatni. Ha van egy kis Linux-os ismereted, akkor a leírás alapján a telepítés nem okozhat gondot, a témával kapcsolatos kérdéseket szívesen várom kommentként. A telepítéshez csak a Linux-os szerver telepítő szükséges, melynek legújabb verzióját a leírásban található linket keresztül le tudjátok tölteni.

Telepítés

Első lépésként hozzuk létre a mappát, ahova szeretnénk a szervert telepíteni.
cd /usr/local/games
mkdir battlefield2
cd battlefield2
Most szerezzük be a szükséges fájlokat, töltsük le a telepítőt. A telepítő letölthető innen. A következő lépésben tegyük futtathatóvá a fájlt:
chmod +x ./bf2-linuxded-1.5.3153.0-installer.sh
Majd indítsuk el a telepítést:
./bf2-linuxded-1.5.3153.0-installer.sh
Az indítás után a telepítő ellenőrzi, hogy nem sérült-e meg a fájl a letöltés során, illetve kicsomagolja azt, ez a szerver teljesítményétől függően eltarthat néhány percig. Ezután felszólít, hogy olvassuk el az EULA-t, nyomjunk egy ENTER-t, és olvasgassunk (ENTER nyomkodásával, van nyomva tartásával tudsz lefele haladni). Ha egyet értünk vele, irjunk be egy ,,accept” -et, majd ismét ENTER.
A következő lépés szinte ugyan az mint az előző, itt most a PunkBuster EULA-ját kell elolvasnunk és elfogadnunk, a különbség csak annyi, hogy a végén ,,yes“-t kell írni. Fontos, hogy a PunkBuster frissítve legyen, erről az egyik előző cikkben olvashattok.
A következő lépésben meg kell adnunk egy már létező könyvtárat, ahova szeretnénk telepíteni a játékot, fontos, hogy ez a könyvtár létezzen, és legyen is jogosultságunk írni bele. (ha a leírás elején létrehoztuk a mappát, akkor a következőt írjuk bele: /usr/local/games/battlefield2).

Beállítás

A szerver beállításához nyissuk meg a config fájlt:
vi ./mods/bf2/settings/serversettings.con

Néhány beállítás

sv.serverName "eKapocs Egyesuleti szerver"
sv.password "titkosjelszo"
sv.internet 1
sv.bandwidthChoke 0
sv.welcomeMessage "Die Hard"
sv.punkBuster 1
sv.allowFreeCam 0
sv.allowExternalViews 1
sv.allowNoseCam 1
sv.hitIndicator 0
sv.maxPlayers 64
sv.numPlayersNeededToStart 2
sv.notEnoughPlayersRestartDelay 15
sv.startDelay 15
sv.endDelay 15
sv.spawnTime 15
sv.manDownTime 15
sv.endOfRoundDelay 15
sv.ticketRatio 100
sv.roundsPerMap 3
sv.timeLimit 0
sv.scoreLimit 0
sv.soldierFriendlyFire 100
sv.vehicleFriendlyFire 100
sv.soldierSplashFriendlyFire 100
sv.vehicleSplashFriendlyFire 100
sv.tkPunishEnabled 1
sv.tkNumPunishToKick 3
sv.tkPunishByDefault 0
sv.votingEnabled 1
sv.voteTime 90
sv.minPlayersForVoting 2
sv.gameSpyPort 29900
sv.allowNATNegotiation 0
sv.interfaceIP ""
sv.autoRecord 0
sv.demoIndexURL http://
sv.demoDownloadURL http://
sv.autoDemoHook "adminutils/demo/rotate_demo.py"
sv.demoQuality 1
sv.adminScript "default"
sv.timeBeforeRestartMap 30
sv.autoBalanceTeam 0
sv.teamRatioPercent 100
A szervert beállíthatjuk úgy, hogy a játékosok közti hangátvitel a szerveren keresztül történjen, de ajánlottabb egy külön rendszert használni erre pl.: TeamSpeak, Mumble, Ventrilo stb.
sv.voipEnabled 0
sv.voipQuality 3
sv.voipServerRemote 0
sv.voipServerRemoteIP ""
sv.voipServerPort 55125
sv.voipBFClientPort 55123
sv.voipBFServerPort 55124
sv.voipSharedPassword ""

További beállítások

sv.useGlobalRank 1
sv.useGlobalUnlocks 1
sv.sponsorText "by Skeleton.hu"
sv.sponsorLogoURL "http://www.skeleton.hu/theme/banners/gyik.jpg"
sv.communityLogoURL ""
sv.radioSpamInterval 6
sv.radioMaxSpamFlagCount 6
sv.radioBlockedDurationTime 30

Egyéb beállítások

Előfordulhat, hogy néhány barátunk sehogy sem tud kapcsolódni a szerverre, ilyenkor a következő portokat tiltsuk le az alábbi parancsokkal:
iptables -A INPUT -m udp -p udp --sport 29910 -s 0/0 -j DROP
iptables -A INPUT -m udp -p udp --sport 139 -s 0/0 -j DROP
iptables -A INPUT -m tcp -p tcp --sport 29910 -s 0/0 -j DROP
iptables -A INPUT -m tcp -p tcp --sport 1433 -s 0/0 -j DROP
iptables -A INPUT -m tcp -p tcp --sport 1434 -s 0/0 -j DROP
iptables -A INPUT -m tcp -p tcp --sport 139 -s 0/0 -j DROP
Fontos, hogy a szerverre csak akkor tudnak csatlakozni, ha a játékosok az 1.5 -ös verziót használják, az 1.5-ös telepítés előtt mindenképpen telepíteni kell az 1.42-es verziót is!

A szerver távoli elérése (RCON)

Hozzunk létre egy admin beállításokat tartalmaz fájlt:
vi ./admin/default.cfg
A következőket írjuk bele:
port=4711
password=rconjelszo
Gratulálok, ha mindent jól csináltál, akkor már kész is van a saját, külön bejáratú játékszervered! Ha bármi kérdésed, problémád lenne, nyugodtan írj kommentként.