Saturday, December 1, 2012

ISPConfig + NginX + PHP-FPM + multiple PHP versions

This article is about setting up multiple PHP versions with PHP-FPM with nginx. Basically, its a note for myself, but maybe you can also use it. When this article was written, the stable PHP version was 5.4.9, so I will use that here.

It's a testing configuration, there might be security bugs, so don't use it in production!

This article is based on Ondřej Šimek's article.

So first of all, we need the actual PHP stable version, download it, unzip it, and copy it to /usr/local/src. After PHP 5.4.0, you don't need to patch. (if you need previous version, use Ondřej Šimek's tutorial for patching)

wget http://www.php.net/get/php-5.4.9.tar.gz/from/a/mirror
tar xjf php-5.4.9.tar.gz

mkdir /usr/local/src/php
mkdir /usr/local/src/php/5.4.9
mv php-5.4.9 /usr/local/src/5.4.9

Next, we need to run ./configure, and compile it. I like to install php separately to /opt/php/5.4.9

mkdir /opt/php
mkdir /opt/php/5.4.9

So run ./configure with the choosen options. You need at least these:
--prefix=/opt/php/5.4.9
--enable-fpm
(--enable-fastcgi)
--without-pear

./configure --prefix=/opt/php/5.4.9 --enable-fpm --without-pear

You may or may not need to use --enable-fastcgi, it depends on the php-version, as I can remember, since 5.3.0 you don't need to use, because it's a must-have option.

After running configure, run:

make & make install

It will create some files in /opt/php/5.4.9. You may need to copy the recommended php.ini from the source folder:

cp /usr/local/src/php-ini-production /opt/php/5.4.9

Now, you need to change some configurations in the inis:

nano /opt/php/5.4.9/etc/php-fpm

ISPConfig uses listen port 9000, so you need to change it, to for example: 9001. You may want to set up logging, you can find several lines and settings about logging, its not hard to find.

Now, you can start php-fpm:

./opt/php/5.4.9/sbin/php-fpm

Next, go to your admin panel (ISPConfig), go to System, and additional PHP versions (only available in ISPConfig 3.0.5!). Create a new php version:

FastCGI settings:
Binary: /opt/php/5.4.9/bin
PHP.ini directory: /opt/php/5.4.9

PHP-FPM settings:
init-script: /opt/php/5.4.9/etc
PHP.ini directory: /opt/php/5.4.9/
POOL directory: /opt/php/5.4.9

Save it, then go to websites, and change PHP-version where you need. It will throw a ,,Bad Gateway" error,  because you didn't edit the nginx settings:

cd /etc/nginx/sites-available
nano yoursite.vhost

Then change the listen port to the port you defined earlier.

fastcgi_pass 127.0.0.1:9001

At the and: reload nginx and hurray.

/etc/init.d/nginx reload

HURRAY

Now, I have to figure out how to automatise the port change in the .vhost files.. 




Sunday, October 14, 2012

Több COD4 szerver egy szerver fájljaiból

Igen. A COD4-nek nem szükséges, hogy szerverenként felmásoljuk a szerverre a játék fájljait, így rengeteg helyet spórolhatunk meg. Egyszerüen elég, ha elhitetjük vele, hogy ott vannak a fájlok, ahol ő azt keresni fogja. Erre tökéleset megoldás a symlink -ek használata.

Tehát a következőképpen kell használni:

ln -s target_path link_path

Tehát, tegyük fel, hogy szeretnénk 4 szervert, ehhez a következő mappa struktúrát vegyük fel:

cod4:
-bin
-28960
-28961
-28962
-28963

A bin mappába másoljuk a gyári fájlokat, amik a dvd-n találhatóak ( main, mods stb.. ), majd töltsük le a legújabb (1.7) linux-os indítót ( lnxded ), ezt csomagoljuk ki, és másoljuk be mind a 4 mappába ( 28960 - 28963 ). 

Ezután hozzuk létre a symlinkeket:

ln -s /cod4/vin/main main
ln -s /cod4/bin/Mods Mods
.
.
.
Ezt szépen végig játszuk az összes mappával.

Ezután már csak létre kell hozni szerverenként a config fájlokat, illetve csinálhatunk egy indító fájlt. És már indíthatjuk is:

screen -S cod4 ./cod4_lnxded +set sv_pure 1 +set net_port 28960 +set dedicated 2 +set sv_punkbuster 1 +exec server.cfg +map_rotate

screen -S cod4 ./cod4_lnxded +set sv_pure 1 +set net_port 28961 +set dedicated 2 +set sv_punkbuster 1 +exec server.cfg +map_rotate

screen -S cod4 ./cod4_lnxded +set sv_pure 1 +set net_port 28962 +set dedicated 2 +set sv_punkbuster 1 +exec server.cfg +map_rotate

screen -S cod4 ./cod4_lnxded +set sv_pure 1 +set net_port 28963 +set dedicated 2 +set sv_punkbuster 1 +exec server.cfg +map_rotate

Saturday, October 13, 2012

Call of Duty 4 szerver Linuxon

A szerver elkészítéséhez szükségünk van a játék dvd-n található fájlokra, pontosabban a setup/main mappára. Első lépésként töltsük fel a szerverre (például winscp -vel), ez eltarthat egy ideig a hálózati kapcsolatunk sebességétől függően.

Telepítés:

A cod4 előnye, hogy ha több szervert szeretnénk futtatni, azt megtehetjük ,,osztott" erőforrásokkal, tehát csak egy main könyvtárra lesz szükségünk, ez nagy segítség, hiszen 1-1 szerver akár 4-5 GB helyet is foglalna.

( Ha több szervert szeretnél egyszerre érdemes EZT is elolvasnod! )

Feltöltés után hozzunk létre egy könyvtárat, például a usr mappában, de akár saját usert is hozzárendelhetünk a /home -ban. Biztonsági okokból ajánlott nem root-ként futtatni a szervereket.

mkdir /usr/local/games/cod4

Másoljuk át a fájlokat!

Töltsük le a legfrissebb (1.7) binárisokat pl. innen. (cod4 lnxded 1.7)

wget http://www.shrapnet.com/downloads/cod4-linux-server-06282008.tar.bz2

Ezután tömörítsük ki:

tar -jxvf cod4-linux-server-06282008.tar.bz2

Ha minden jól megy, a következő fájlokat találjuk kicsomagolás után:

cod4_lnxded
cod4_lnxded-bin
libgcc_s.so.1
libstdc + +. so.6
README.linux
pbsetup.run

Ezzel lényegében el is készültünk, most már csak konfigurálni kell.

Konfigurálás:

Ha szeretnénk, hogy a szerver fusson kijelentkezés után is, telepítsük a screen-t:

apt-get install screen

A screen egy ügyes kis program, röviden: képes több terminált emulálni:
ctrl+a+c = új terminál
ctrl+a+n = következő terminál
További lehetőségek: man screen

Igény esetén létrehozhatunk egy indító fájlt, így indításkor csak le kell futtatnunk:

echo > cod4_starter.sh
nano cod4_starter.sh

A következőket másoljuk bele:

screen -S cod4 ./cod4_lnxded +set sv_pure 1 +set net_port 28960 +set dedicated 2 +set sv_punkbuster 1 +exec server.cfg +map_rotate

röviden:

sv_pure 1 : a szerver ellenőrzi, hogy a játékosok fájljai nem ,,sérültek".
net_port : port, ahol elérheted
dedicated 2 :dedikált netes szerver
sv_punkbuster : engedélyezed a pb-t
exec: mindenféle fájlt megynittathatsz vele, pl configot is

A következő portokat érdemes felnyitni:

UDP 20800
UDP 20810
UDP 28960

A server.cfg fájlodat pedig ügyesen feltöltheted mindenféle csilivili beállítással, erre rengeteg generátor létezik, egyszerüen keress rá guglin: "cod4 server.cfg generator".






Friday, October 12, 2012

STEAMCMD Segmentation fault

If you use SteamCMD on Hardened Gentoo, you need some additional security configuration otherwise it will throw:

./steam.sh: line 67: 22525 Segmentation fault ${DEBUGGER}
"${STEAMROOT}"/${PLATFORM}/${STEAMEXE} "$@"

It throws because of PaX. PaX is a security layer of hardened gentoo, which helps to prevent some attacks. We will user paxctl, For more informations:

man paxctl

So first, go to steamcmd (usually it's in /ga/me/folder/steam/linux32)

cd /ga/me/folder/steam/linux32

You can check pax flags:

paxctl -v steamcmd

PaX control v0.7
Copyright 2004,2005,2006,2007,2009,2010,2011,2012 PaX Team <pageexec@freemail.hu>

Then you need to set up some flags:
-x: disable RANDEXEC
-e: disable EMUTRMA
paxctl -ex steamcmd
Then check flags:
paxctl -v steamcmd
PaX control v0.7
Copyright 2004,2005,2006,2007,2009,2010,2011,2012 PaX Team <pageexec@freemail.hu> 
- PaX flags: -------x-e-- [steamcmd]
RANDEXEC is disabled EMUTRAMP is disabled


Update:
Keep in mind: If you update steam, you have to do this again! (The updater will download a new steamcmd, so there will be no PaX headers!)

Sunday, September 30, 2012

Gentoo: Apache does not interpreting PHP

If you use Gentoo/CentOS with Apache2 and PHP, and PHP is not interpreted, you should do the followings:

Open Apache2's configurations:
nano /etc/conf.d/apache2

Change the line:
APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D PHP5 -D USERDIR"

After changing the line, don't forget to restart Apache:
/etc/init.d/apache2 restart

Now it should work!

Sunday, August 26, 2012

Counter Strike: Global Offensive szerver készítés linuxon

A következő cikkben bemutatom, hogy hogyan lehet Counter Strike: GO szervert telepíteni Linuxra. Első lépésként, ha még nem tettük volna meg, telepítsük a SteamCMD-t.  A SteamCMD telepítéséről itt olvashatsz.

Telepítés:


Adjuk meg a telepítési útvonalat, például:
force_install_dir ./cs_go/

Némelyik Linux disztribúción hibásan működik, ha a telepítési útvonalban nagy betűket használunk, erre figyeljünk oda!

Adjuk meg, hogy melyik játékot szeretnénk telepíteni, ez CS:GO esetében 740-es kód:
app_update 740 validate

Ezután, ha a játék még nincs telepítve, akkor letölti a szükséges fájlokat, ha telepítve van, akkor megpróbálja frissíteni a játékot. Ha használjuk a validate kulcsszót, ellenőrzi a fájlok konzisztenciáját. (Később ezzel a paranccsal tudjuk frissíteni a szervert! Az útvonal megadása ez esetben is kötelező!)

Váltsunk a cs_go mappába:
cd cs_go

Beállítások:

A csgo mappán belül találjuk a beállításokat tartalmazó .txt kiterjesztésű fájlokat, itt főként a játékmenetet befolyásoló beállítások vannak.

A csgo/cfg mappán belül kell elhelyezni a server.cfg nevű fájlt, alap esetben nem hozza létre, ezt nekünk kell megtenni: ( Ha nem tesszük meg, semmi gond, az alap beállításokat fogja használni! ).

cd csgo/cfg
echo > server.cfg

Ide másoljuk be a következőket:

hostname "Counter-Strike: Global Offensive Dedicated Server" // a szervered neve
rcon_password "yourrconpassword" //rcon jelszó
sv_password "" //szerver jelszó
Ezeken felül további beállításokat is használhatsz:

mp_freezetime 5 //Vásárlási idő
mp_join_grace_time 15 //Mennyi ideig lehet még csatlakozni kezdés után
mp_match_end_restart 0 // Meccs végi pálya restart 
sv_cheats 0 //Csalás kikapcsolása
sv_lan 0 //LAN mód kikapcsolása

A következő bot beállítások a szerver alap beállításai:

bot_difficulty 1 
bot_chatter "off" 
bot_join_after_player 1
bot_quota 10 
bot_quota_mode "fill"

A következő beállításokkal bannolhatunk játékosokat a szerverről:

writeid 
writeip 
exec banned_user.cfg 
exec banned_ip.cfg


A csgo/config appán belül pedig a szerverrel kapcsolatos beállítások, például itt állíthatjuk be a szervert nevét, jelszavát.


Indítás


Az indításhoz lépjünk be a steam/cs_go mappába:
cd steam/cs_go

A játék 4 féle játékmódot támogat, ezek alapján a következőképpen lehet elindítani a szervert:


Classic Casual:
./srcds -game csgo -console -usercon +game_type 0 +game_mode 0 +mapgroup mg_bomb +map de_dust

Classic Competitive:
./srcds -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_bomb +map de_dust 

Arms Race:
./srcds -game csgo -console -usercon +game_type 1 +game_mode 0 +mapgroup mg_armsrace +map ar_shoots

Demolition:
./srcds -game csgo -console -usercon +game_type 1 +game_mode 1 +mapgroup mg_demolition +map de_lake



Egyéb

Igény esetén lehet saját MOTD-t beállítani:
csgo mappában

echo > motd.txt

ide írhatunk be pl. egy weblap címét, melyet böngésző-szerűen fog megjeleníteni

A játék admin oldali része, illetve beállításai szinte megegyeznek a Counter Strike: Source beállításaival.


A tutorial az eredeti Steam-es ajánlás alapján készült.



SteamCMD letöltése és beállítása linuxon

Az új Steam-es játékok telepítéséhez már nem tudjuk a HLDSUpdateTool -t használni, az új eszköz a SteamCMD lett. Telepítése roppant egyszerű, néhány lépés az egész:


Első lépésként töltsük le a becsomagolt telepítőt, majd csomagoljuk ki:
wget http://blog.counter-strike.net/wp-content/uploads//2012/04/steamcmd.tar.gz
tar xvfz steamcmd.tar.gz

Indítsuk el a telepítőt:
./linux32/steamcmd

Indítás után pedig a következő paranccsal tudunk belépni:
STEAMEXE=steamcmd ./steam.sh

Indítás után a már meglévő Steam felhasználónevünkkel és jelszavunkkal be kell lépni, ezt a következő formában tudjuk megtenni:
login <username> <password>

Ha belépéskor hibát jelezne, akkor az email-ben kapott SteamGuard  kódot is írjuk utána:
login <username> <password> <steam guard code>

Sikeres bejelentkezés után már telepíthetjük is a kiválasztott játékokat!

Ha Hardened Gentoo -t használunk, még kell néhány biztonsági beállítás.



Wednesday, August 1, 2012

Asterisk telepítés Debian-ra

Asterisk:


Az Asterisk egy ingyenes, open-source kommunikációs szoftver, főként Linux operációs rendszerekre. További információ található a hivatalos oldalon.

Az Asterisk-et kétféle módon telepíthetjük:


1. Telepítjük a csomagkezelő által felajánlott verziót. A csomagkezelő oldalán találhatunk információkat az éppen aktuális verzióról. A cikk írásakor a támogatott verzió az 1.6 volt, mely már egy kicsit elavultnak tekinthető, de ha valaki most ismerkedik a rendszerrel, annak tökéletes lehet, hiszen nem megy el idő a telepítési bajlódással. A telepítési fázisok itt érhetőek el.

2. Letöltjük a forráskódot és lefordítjuk a gépünkön. Ez egy kicsit több időt vesz igénybe, de éles rendszernél mindenképpen ajánlott kiválaszthatjuk, hogy milyen csomagokat (pl. codec-eket, és egyéb szolgáltatásokat) szeretnénk telepíteni, így csökkentve az erőforrás használatot. A telepítési fázisok itt érhetőek el.

Érdemes megemlíteni, hogy létezik egy FreePBX nevű eszköz, melyet egy telepített Asterisk-es rendszerhez kell kötnünk. Ez egy remek eszköz a rendszer monitorozására, illetve menedzselésére. A FreePBX telepítésére itt olvashatsz bővebben.



FreePBX telepítés Debian-ra

A FreePBX nem más, mint egy GUI az Asterisk vezérléséhez. Ha gyakran kell állítani a rendszeren, érdemes használni, hiszen nem kell a .conf fájlokban turkálni. Emellett elég sok adatot képes megjeleníteni a rendszerről: felhasználók, terhelés, elérhető frissítések, stb. .

A telepítése roppant egyszerű, szükséges hozzá PHP5, és MySQL. Állítólag a PHP5.4-et nem igazán kedveli, nekem nem volt vele problémám.

Letöltés/előkészítés:


Telepítsük a PHP-t, és MySQL-t:

apt-get install php5-mysql libapache2-mod-php5 mysql-server php-db php5-gd php-pear

Váltsunk a tmp mappába:
cd /tmp

Töltsük le az épp használatos verziót, jelenleg ezek közül lehet ávlasztnai:
A 2.9-es csak 1.8 ig támogatja az Asterisket!

wget http://mirror.freepbx.org/freepbx-2.9.0.tar.gz
wget http://mirror.freepbx.org/freepbx-2.10.0.tar.gz

Váltsunk az src mappába, csomagoljuk ki, és lépjünk bele:

cd /usr/src
tar xvfz /tmp/freepbx-2.10.0.tar.gz 
cd freepbx-2.10.0

Készítsük elő a MYSQL adatbázisokat:

mysql -u root -p
create database asterisk;
create database asteriskcdrdb;


GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';
GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'amp109'; flush privileges; 
quit

Töltsük be a szükséges SQL táblákat:

mysql -u root -p asterisk < SQL/newinstall.sql 
mysql -u root -p asteriskcdrdb < SQL/cdr_mysql_table.sql

Szükséges felhasználó létrehozása

groupadd asterisk
useradd -c "PBX asterisk" -d /var/lib/asterisk -g asterisk asterisk
passwd asterisk


Ha még nem lennének meg a könyvtárak, akkor hozzuk létre:

mkdir /var/run/asterisk
chown asterisk:asterisk /var/run/asterisk


Adjuk hozzá az asterisk usert a www-data csoporthoz:

nano /etc/group
www-data:x:33:asterisk
(f2-vel tudsz menteni és bezárni)

nano /etc/apache2/apache2.conf
(ctrl+w- vel tudsz keresni)

Most be kell állítani, hogy az Apache az asterisk user nevében fusson:
Cseréld le a következő sorokat:
User www-data
Group www-data
erre:
User asterisk
Group asterisk

(Lehet, hogy a User és Group után valami $-os szöveg van, azt törölheted, de a legegyszerűbb ha simán kommenteled(#).

chown -R asterisk /var/lib/php5

Változtassuk meg a php.ini beállításait, kicsit ki kell bővíteni:

nano /etc/php5/apache2/php.ini
upload_max_filesize = 32M
max_execution_time = 120
max_input_time = 120


Fontos, hogy a telepítés megkezdése előtt mindenképpen készítsünk biztonsági mentést a modules.conf fájlról!

cp /etc/asterisk/modules.conf ~/asterisk-modules.conf


Telepítő elindítása:


./install_amp
A telepítő menet közben meg fog kérdezni néhány dolgot, a többségét hagyhatjuk alapbeállításon, egyedül az IP címet érdemes megváltoztatni, illetve a telepítés helyét. A telepítés helyénél figyeljünk arra, hogy a /var/www/mappanev helyre kerüljön, ha ezen belül egy almappába kerül, akkor még szöszölni kell vele.


Bug:
Előfordul, hogy Asterisk telepítésénél a ,,make sample" módot választjuk, ekkor legenerálja a sok .config fájlt, amire szükségünk lesz, és default beállításokkal szolgál. Viszont ezen verzió telepítője szépen kihagy néhány fájlt, ezért pl.: FreePBX nem képes csatlakozni Asterisk-hez (Asterisk nem képes feldolgozni a manager.conf fájlt). A FreePBX-es problémát a következő képpen tudjuk megoldani:

nano /etc/asterisk/manager.conf

A fájl végén látunk két include-ot (# az elején). Ezeket a fájlokat elfelejti létrehozni, ezért vagy hozzuk létre, vagy ;-vel kommentezzük ki. A fájlok tartalma nem létfontosságú, csak a szeparálhatóság végett fontos.


nano /etc/asterisk/sip.conf


A fájl végéhez adjuk hozzá:
#include sip_additional.conf


Ha minden jól ment, akkor kész a GUI, valami ilyesmit kéne kapni:






Asterisk telepítés: forrásból




A következő cikkben az Asterisk telepítését járjuk végig, ebben a telepítésben a hivatalos oldalon található forrásokból fogunk fordítani. Nem csak az Asterisk-et, hanem a hozzá tartozó kiegészítőket is. Elsőként töltsük le az Asterisk oldaláról a szükséges fájlokat.

Letöltések:

Asterisk forrás
Mindenképpen szükséges letölteni.

DAHDI Linux / DAHDI Tools
(Digium/Asterisk Hardware Device Interface), Digium és néhány más gyártó által készített, főleg PCI-os kártyák vezérléséhez használt interfész, ezt akkor telepítsük, ha tervezünk ilyen kártyát használni (pl.: FXO: összeköti a rendszert a PSTN (telefonos) hálózattal. Régebben Zaptel néven futott. A complete verziót töltsük le, így egyben megkapjuk a DAHDI Linux és DAHDI Tools fáljait.

LibPRI
Open -source könyvtár, segítségével kapcsolódhatunk ISDN hálózatra, ileltve használhatjuk az ISDN-PRI és ISDN-BRI protokollokat.

LibSS7
Az SS7 protokoll használatát teszi lehetővé.

Ezeket az eszközöket nem árt ha telepítjük, többnyire használni is fogjuk őket. A telepítésükkor szükséges a sorrendet betartani:
LibPRI -> DAHDI Linux/ DAHDI Tools -> LibSS7->  Asterisk

Telepítés:

Elsőként telepítenünk kell néhány csomagot (előfordulhat, hogy már telepítve van némelyik, ez esetben haladjunk tovább), ezek a következők lesznek:

bison
ncurses-dev
libssl-dev
libnewt-dev
zlib1g-dev
initramfs-tools
cvs
procps

Ezeket a szokásos csomagkezelővel telepíthetjük a következő formában:

apt-get install csomagnev

A /usr/src mappában hozzunk létre egy  asterisk nevű mappát:

mkdir /usr/src/asterisk

Majd a  letöltött forrásokat csomagoljuk ki. A mappanevek a verziószámok változásával változnak, így a verziókat nem írom ki.

Most egyesével telepítjük a kiegészítő csomagokat:
1. LibPRI:
cd /usr/src/asterisk/libpri
make
make install
cd ..

2. DAHDI Linux
cd /usr/src/asterisk/DAHDI
make
make install
make config
cd ..

3.LibSS7
cd /usr/src/asterisk/LibSS7
make
make install
cd ..

Most jön az Asterisk telepítése:
A telepítés elkezdése előtt bizonyosodjunk meg róla, hogy van c++ fordító telepítve, ha nincs:

apt-get install g++

Az Asterisk alap beállításként SQLite3 adatbázist használ, ezt is telepíteni kell:

apt-get install sqlite3 libsqlite3-dev

cd /usr/src/asterisk/asterisk
make clean
./configure --disable-xmldoc

Ez eltart egy kis ideig, ha bármilyen hiba keletkezne, a végén kiírja, így javíthatjuk a hibákat. Ha sikeresen lefutott, igény szerint kiadhatjuk a

make menuselect

parancsot, ezzel egy GUI-s felületet kapunk, itt tudunk beállítani pl.: addonokat, különböző codec-eket és további kiegészítőket. Végül:

make install





A telepítés végén felajánlja, hogy készít sample fájlokat, ez főként akkor jó, amikor még barátkozunk a rendszerrel, ha szeretnénk ilyenekete:


make samples

Igény esetén dokumentációt is telepíti, de ehhez szükség van doxygen-re:

make progdocs




A programról röviden:
Le lehet kérni a parancsokat:

asterisk -h

Csatlakozás a helyi szervehez:
asterisk -r (CLI -n keresztül tudunk parancsokat adni neki).


Bug!!
Előfordul, hogy Asterisk telepítésénél a ,,make sample" módot választjuk, ekkor legenerálja a sok .config fájlt, amire szükségünk lesz, és default beállításokkal szolgál. Viszont ezen verzió telepítője szépen kihagy néhány fájlt, ezért pl.: FreePBX nem képes csatlakozni Asterisk-hez (Asterisk nem képes feldolgozni a manager.conf fájlt). A FreePBX-es problémát a következő képpen tudjuk megoldani:

nano /etc/asterisk/manager.conf

A fájl végén látunk két include-ot (# az elején). Ezeket a fájlokat elfelejti létrehozni, ezért vagy hozzuk létre, vagy ;-vel kommentezzük ki. A fájlok tartalma nem létfontosságú, csak a szeparálhatóság végett fontos.



nano /etc/asterisk/sip.conf



A fájl végéhez adjuk hozzá:
#include sip_additional.conf



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.