Screen i serwer w tle

Od HLDS.pl
Skocz do: nawigacji, wyszukiwania

kategoira:Serwery gier

Spis treści

Wstęp

Mam nadzieję, że przeczytałeś text o screen.

Uruchomienie

Przykład dla serwera HLDS ale dla wszelkich innych programów będzie podobnie - róznica w komendie startującej dany program i parametrach.

Wpisujemy w konsoli

screen -A -m -d ./hlds_run -game cstrike -autoupdate +servercfgfile server.cfg +maxplayers 22

Oczywiście jak trzeba dodajemy potrzebne opcje z parametrami jak +ip czy +rcon_password, czyli wklejamy całą linie startową naszego serwera.

Sprawdzenie

Upewniamy się że proces chodzi na screenie [i]screen -ls[/i] Powinna się pojawić lista aktywnych screenów do których mozna sie podłączyć, na przykład

hlds@bagno ~ $ screen -ls
There is a screen on:
        19381.cs        (Detached)
1 Socket in /var/run/screen/S-hlds.

hlds@bagno ~ $

Aby sie do niego dołączyć wpisujemy [i]screen -r[/i]

Aby odłączyć wciskamy klawisze ctrl+a+d, albo jak to nie działa zamknij program do polączeń przez SSH

Kilka serwerów

Jeśli uruchamiamy kilka serwerów, czyli także i screenów (choć można i to wszystko zrobić na jednym...) przydaje się dodanie parametru: -S <nazwa>. Owy parametr pozwala określić nazwę dla danego screen-a, zamiast wpisywać jego PID (Numer identyfikacyjny procesu, czyli coś takiego jak numer na tablicy rejestracyjnej danego pojazdu), np.:

screen -r <jakiś numerek> 

Zastosujmy to z powyższym przykładem (zauważ że chodzą na różnych portach):

screen -A -m -d -S nazwa1 ./hlds_run -game cstrike -autoupdate +servercfgfile server.cfg +maxplayers 22 +port 27015 

I teraz odpalamy drugi server:

screen -A -m -d  -S nazwa2  ./hlds_run -game cstrike -autoupdate +servercfgfile server.cfg +maxplayers 22 +port 27016 

I później aby się do niego dołączyć wpisujemy:

screen -r nazwa

W tym wypadku będzie to nazwa1' i nazwa2 - odpowiednio dla serwerów postawionych na porcie 27015 i 27016.

Jednoczesny obraz

Kolejnym ciekawym parametrem do screen-a jest -x. Jest to parametr pozwalający pracować więcej niż jednemu terminalowi/osobie na danym screen-ie. Otóż zaistnieje przykładowo taka sytuacja: mamy dwóch headadminów na serwerze i obaj naraz chcą podpatrzeć co się aktualnie dzieje na serwerze (będąc zalogowanym na tego samego uzytkownika!), w tym momencie jeden wpisuje: screen -r i już jest na screenie i widzi wszystko, natomiast drugi nie może się dołączyć, ponieważ dany screen jest już okupowany przez tego pierwszego. Teraz, aby mógł on się do niego dołączyć jest użycie metody dość drastycznej, czyli "wykickowanie" danej osoby z tego screen-a, ale po co, skoro można użyć czegoś takiego jak -x, dzięki temu dwóch adminów może siedzieć na jednej konsoli serwera. To tyle, jeśli chodzi o ciekawostki związane z genialnym narzędziem jakim jest screen, reszta w manualu.

Jeden terminal a tyle screenów

Jak juz odpalac kilka procesow na jednym koncie to czasami sie przydaje praca na jednym procesie screena z wieloma konsolami, bodajze (mam to w palcach nie w glowie :P by vib ):

  • ctrl+a+c - dodanie dodatkowego ekranu
  • ctrl+a+spacja - przelaczenie na nastepny ekran
  • ctrl+a+a - przelaczenie na poprzedni ekran
  • ctrl+a+numerek - wybor ekranu o numerze od 0 do 9

a szczegoly w manualu screen'a


Podziękowania

  • Pawels
  • trawiator
  • vib
Osobiste
Przestrzenie nazw
Warianty
Działania
HLDS.pl - Menu:
Inne
IRC
Inne sekcje:
Znajomi:
Narzędzia