Opas pelipalvelimen pystytykseen (linux)

29.11.2007 - lisääjä KraTe

Tarkoituksena siis saada pystyyn julkinen tf2-palvelin linuxin päällä. Ohjetta voi myös soveltaen käyttää windowsin kanssa.

Korjausehdotuksia otetaan vastaan.

Team Fortress 2 -palvelin tarvitsee tietysti kunnollisen koneen kunnon yhteydellä. Muistia pitää olla vähintään gigatavu ja suorittimeksi kelpaa minimissään p4 3GHz HT. Tämä riippuu tietysti pelaajamäärästä, mutta tuollaisellakaan ei vielä yli 20 pelaajan palvelinta kovin hyvin pyöritetä.

Oletetaan, että ollaan asentamassa palvelinta hakemistoon /home/tf2server.

1. Haetaan steam-installeri

cd /home/tf2server
wget wget http://www.steampowered.com/download/hldsupdatetool.bin


2. ajetaan installeri

chmod +x hldsupdatetool.bin
./hldsupdatetool.bin


3. Käynnistetään steam ensimmäisen kerran

./steam


4. Haetaan serverin tiedostot

./steam -command update -game tf -dir . -verify_all -retry


Steam ilmoittaa usein "Connection Reset" jolloin ei muu auta kuin yrittää uudelleen. Joskus yrityksiä tarvitaan hyvinkin monta.

Ainakin vielä kirjoitushetkellä Steam tekee hakemiston orangebox, jonka alle palvelimen tiedostot latautuvat. Jotta automaattinen päivitys saadaan toimimaan ->


5. Kopioidaan tiedostot steam, test* ja Install* hakemistoon orangebox

cd /home/tf2server
cp steam test* Install* orangebox/


5. Palvelimen asetukset

Tässä esimerkkinä konfiguraatiotiedosto julkiselle pelipalvelimelle: (asetukset tulevat tiedostoon /home/tf2server/orangebox/tf/cfg/server.cfg)

// servun nimi
hostname "Oma tf2 -purnukka"

// rcon passu
rcon_password "erittainsalainen"

// servun passu (tyhjä == ei salasanaa)
sv_password ""

//
//mp_friendlyfire 0 //ei toimi enää

//Autobalanceri
mp_autoteambalance 1

//kuinka usein autobalansoidaan (aika sekunteina siitä kun tiimeistä on tullut epätasaiset)
mp_autoteambalance_delay 60

//Varoitus autobalancesta 30 sekuntia ennen
mp_autoteambalance_warning_delay 30

//Saa specata vapaasti
mp_forcecamera 0

//misc
sv_pausable 0
sv_cheats 0
sv_consistency 1
//sv_maxspeed 320

//disabloidaan pelin oma ingame-voice
sv_voiceenable 0
mp_allowspectators 1
mp_chattime 10
sv_timeout 65

//mapin kestoaika (minuutteina)
mp_timelimit 30

//montako pelaajaa enemmä saa toisella tiimillä olla
mp_teams_unbalance_limit 2

//Odotellaan hieman roundien välissä
mp_enableroundwaittime 1
mp_bonusroundtime 15 //aika sekunteina.. odotellaan 15s ennenkuin seuraava roundi alkaa

//sallitaan palvelimen ladata mm. käyttäjien spray-kuvat
sv_allowupload 1
//sallitaan käyttäjien ladata kartat, joita heillä ei ole
sv_allowdownload 1
net_maxfilesize 15 // defaultti 15
sv_downloadurl "" //urli esim mapeille

// ratet
sv_minrate 20000
sv_maxrate 25000
decalfrequency 30
sv_maxupdaterate 100
sv_minupdaterate 50


// logitukset
log on
sv_logbans 0
sv_logecho 1
sv_logfile 1
sv_log_onefile 1

sv_lan 0

//Eurooppa
sv_region 3


Säätöjä on paljon lisääkin mutta tuossa kaikkein oleellisimmat (ja vähän epäoleellistakin).

Oletuksena mappikierrossa on kaikki mukana tulevat kartat. Mappikierto määritellään tiedostossa /home/tf2server/orangebox/mapcycle.txt

Palvelimen motd (Message of the day), viesti, joka näkyy pelaajille pelaajan yhdistäessä palvelimelle on tiedostossa /home/tf2server/orangebox/motd.txt

6. Palvelimen käynnistys

Screen on hyvä apu palvelimen ajamiseen, sillä tällöin ei tarvitse ssh-istuntoa pitää jatkuvasti auki päästäkseen kurkistamaan konsolista, mitä palvelimella tapahtuu. Tehdään käynnistykseen yksinkertainen shell-skripti, joka käynnistää palvelimen screeniin:

/home/tf2server/orangebox/start_tf2server:

#!/bin/bash

#tickrate (srcds ei toimi kunnolla tickrate 100:lla, parempi pitää 66)
TICKRATE="66"

#Ensimmäinen käynnistettävä kartta
FIRST_MAP="cp_well"

#palvelimen ip-osoite:
SERVER_IP="1.2.3.4"

#palvelimen portti (oletus 27015)
SERVER_PORT="27015"

SCREEN=`which screen`

$SCREEN -A -dmS tf2server ./srcds_run -game tf -ip $SERVER_IP -port $SERVER_PORT -tickrate $TICKRATE -autoupdate +map $FIRST_MAP

if [ $? -ne 0 ]; then
echo "Ei onnistunut"
fi


Tiedostolle tarvitaan vielä suoritusoikeudet:

chmod +x /home/tf2server/orangebox/start_tf2server


Ja palvelin käynnistetään näin:

cd /home/tf2server/orangebox
./start_tf2server


Jos mitään ei tulostu, palvelimen pitäisi olla käynnistynyt "tf2server" - nimiseen screeniin.
Konsolia pääsee katsomaan komennolla:

screen -r tf2server


kun -autoupdate on päällä, palvelin tarkistaa päivitykset heti käynnistettäessä. Tässä voi kestää jonkin aikaa.

Nyt haluamme jättää palvelimen taustalle pyärimään ja lopettaa ssh-istuntonnon, joten annetaan näppäinkomento: ctrl a d

Sama ohje kelpaa toki myös matsipalvelimelle, joskin konfiguraatio on erilainen.

TF2.fi kiittää lassizcia hienosta oppaasta!

Kommentit

Kirjaudu sisälle tai Rekisteröidy kommentoidaksesi artikkeleita!

 
Copyright © 2007 TF2.fi