Screen i serwer w tle

Od HLDS.pl
Skocz do: nawigacji, wyszukiwania

Spis treści

Wstęp

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

Uruchomienie

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

Wpisujemy w konsoli

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

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 można się 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 się do niego dołączyć wpisujemy:

screen -r

Aby odłączyć wciskamy klawisze ctrl+a+d, albo jak to nie działa to jest metoda brutalna w postaci: "zamknij program do połą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 +port 27015 +maxplayers 22 +servercfgfile server.cfg

I teraz odpalamy drugi serwer:

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

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 (screen -dr), 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):

  • 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

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