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