4. Start serwera
Mamy już przygotowaną bazę. Teraz trzeba napisać prosty skrypt, który uruchomi nasz serwerek.
Serwer można uruchomić od razu, wydajac polecenie
./q3ded w katalogu /home/q3
Serwer uruchomi się w konsoli, bez modów, z domyślnym konfigiem, nie załaduje żadnej mapy... Nie chcemY tak.
Chcemy natomiast:
- startu serwera wraz ze startem systemu;
- moda CPMA;
- uruchamiania serwera w tle (nie w konsoli);
- serwera widocznego publicznie (wymagane publiczne IP).
Tworzymy skrypt:
touch /etc/init.d/q3ded
Nadajemy mu prawa do wykonania:
chmod +x /etc/init.d/q3ded
w treści pliku wpisujemy:
#!/bin/sh
screen -A -m -d -S quake3 /home/q3/q3ded +set dedicated 2 +set net_ip
xxx.xxx.xxx.xxx +set sv_strictauth 0 +set fs_game cpma +set sv_fps 25
+set fs_basepath /home/q3 +set sv_maxRate 10000 +exec cpmaconf.cfg
Tak wygląda mój skrypt startowy. Twój oczywiście może wyglądać inaczej. To jest tylko przykład!
Postaram się teraz w skrócie opisać, co robią poszczególne komendy:
screen -A -m -d -S quake3
w wielkim skrócie: bez tego serwer uruchomi nam się w konsoli. Dzięki programowi screen uruchomi się tle. Jeśli nie masz screen zainstaluj go:
sudo aptitude install screen
+set dedicated 2
2 dla serwera publicznego, 1 dla serwera LAN;
+set net_ip xxx.xxx.xxx.xxx
wpisujemy nasz adres IP;
+set sv_strictautch 0
wyłączamy autoryzację. Bez tej możemy mieć problem z wejściem na serwer. Dodaj jeśli masz właśnie taki problem ;)
+set fs_game cpma
dla moda CPMA. Tutaj podajemy nazwe moda np. cpma, osp...
+set sv_fps 25
określa liczbę snapshotów wysyłanych do klientów. 25 to rozsądna wartość. Przy lepszym łaczu można ją zwiększyć;
+set fs_basepath /home/q3
jak łatwo sie domyślić, katalog instalacyjny Quake 3;
sv_maxRate 10000
minimalna wartość dla komfortowej gry wynosi 8000. Im wiecej ustawimy, tym wiecej łącza serwer będzie przydzielał na poszczególnych graczy. Radzę nie przesadzać z tym parametrem;
+exec cpmaconf.cfg
Plik z konfigiem serwera, w którym uwzględnimy dalsze, bardziej szczegółowe ustawienia. UWAGA - wczytuje konfig z katalogu z modem, jeśli nie ustawiamy moda wczytuje konfig z baseq3;
Przykładowy konfig dla CPMA:
set sv_hostname "Nasz Nowy Q3 Server" # Nazwa Serwera
set sv_allowdownload 1 # pozwalamy na download z serwera
set server_chatfloodprotect 1 # Blokada spamu
set sv_maxclients 6 # maksymalna ilość klientów
set sv_pure 1 # blokada klientów z nieoryginalnymi pakami
set sv_maxping 200 # maksymalny dopuszczalny ping
set server_motdfile "SerweR-Motd.txt" # plik z powitaniem
// kontakt
sets ".Admin" "Twoj_Nick
sets ".email" "twoj@email.pl"
// rcon/Referee password
set rconPassword "supertajnehaslo" # haslo rcon
set ref_password "supertajnehaslo" # haslo ref
// Typy gry
set mode_start "OSPCA" # domyślny tryb gry
set server_gameplay "PMC" # fizyka gry
set server_availmodes "1v1 2v2 TDM OSPCA" # możliwe tryby gry
set server_optimiseBW "1" # optymalizacja serwera. wpływa na ping.
// Opcje Głosowania # Nie będę się rozpisywał. wszystko jest w
// dokumentacji CPMA
set vote_allow_armor 0
set vote_allow_armorsystem 0
set vote_allow_dropitems 0
set vote_allow_fallingdamage 0
set vote_allow_hook 0
set vote_allow_instagib 0
set vote_allow_items 0
set vote_allow_maxdamage 0
set vote_allow_mutespecs 1
set vote_allow_overtime 0
set vote_allow_poweruprespawn 0
set vote_allow_prosound 0
set vote_allow_referee 0
set vote_allow_selfdamage 0
set vote_allow_simplemega 0
set vote_allow_startrespawn 0
set vote_allow_startweapon 0
set vote_allow_teamdamage 0
set vote_allow_thrufloors 0
set vote_allow_warmup 0
set vote_allow_gameplay "vq3 cpm pmc"
set vote_allow_fallingdamage 0
// Mapa
map pro-q3dm6 # domyślna mapa
W tym momencie mamy gotowy serwer. Możemy go uruchomić wydając polecenie:
/etc/init.d/q3ded
Serwer ubijamy za pomocą:
killall q3ded
move | 2008-01-06 03:46:49
Świetnie napisane, GJ!
Nie wiem tylko kto inteligentny daje niskie oceny za tak dobrą pracę, ale cóż, pewnie zazdrości.
#739059
Zaloguj się by dodać komentarz.