←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Inny
Własny panel serwera o.O

  • +
  • -
Makale - zdjęcie Makale 23.01.2013

Witam. Posiadam z kolegą swoją maszyne z linuxem a na niej kilka serwerów. Podstawowe operacje (włącz i wyłącz) są możenie tyle co trudne, lecz żmudne do zrobienie poprzez SSH.

Nie wiem czy dobrze myślę, że chyba wystarczy do folderu z hlds wstawić mały skrypt np wlacz.sh
w którym jest komenda startowa do startu serwera na odpalonym już screenie, czyli
screen -r PID (screen jeden do kazdego serwera)
./hlds_run -game cstrike +map de_dust +servercfgfile server.cfg +maxplayers 16 +port 27017

i tyle ?

Nie znam się tym i proszę o rade czy taki skrypt włączy serwer.

Teraz kolejny skrypt to wyłącz.sh. Tutaj sprawa wydaje się prostrza ponieważ na SSH wystrczy dać CTRL+C i serwer jest wyłączone, a screen zostaje odpalony.

Głównie chodzi mi o te dwa skrypty.
Teraz sprawa WWW. Jak zrobić by np po kliknięciu w odnoścnik (np przycisk, czy link) uruchamiał on ten skrypt ? Panel będzie zrobiony na tej samej maszynie, więc chyba problemów z dostępem nie winno być. Może ktoś zna linuxa i mógł by mi pomóc ?
W tej chwili zależy mi na START i WYŁĄCZ.
Panel jako panel chyba może być w HTML zrobiony. Dodam tło i dwa przyciski tylko martwi mnie tylko jak ten przycisk uruchomi skrypt...
Odpowiedz

  • +
  • -
MarWit - zdjęcie MarWit 23.01.2013

Tak, taki skrypt bedzie jak najbardziej działał. Musisz oczywiście albo zastosować chmod'y z możliwością do wykonywania bądź uruchamiać skrypt uzywając 'sh' . Co do WWW, też jest to możliwe aczkolwiek potrzebujesz PHP'owskiej funkcji shell_exec() .
Odpowiedz

  • +
  • -
Makale - zdjęcie Makale 23.01.2013

Kompletnie się an tym nie znam.
/cs/pb - tutaj mam jeden z serwerów on jest odpalony na screen'nie PID: 31265

Jak ma wyglądać taki skrypt który ma urchomić serwer ?
Tak:
screen -r 31265
./hlds_run -game cstrike +map de_dust +servercfgfile server.cfg +maxplayers 16 +port 27017

Tylko coś takiego ? To jest proste, ale jak wyłączyć serwer ? Jak mam odpaloneo screena to ja wciskam CTRL+C. Jak wyłączyć serwer komenda (bez screen'a) ?

EDIT: Na maszynie nie mam adma (roota) tylko jako zwykły user, ale to chyba nie ma znaczenia nie ? Wystarczy dać odpowiedni chmod ?
Odpowiedz

  • +
  • -
Makale - zdjęcie Makale 24.01.2013

Hmm zrobiłem plik wlacz.sh
i dałem w nim dwie linijki kodu:

screen -r 31230
./hlds_run -game cstrike +map de_dust +servercfgfile server.cfg +maxplayers 22 +port 27016

Wgrałem go poprzez FTP, zalogowałem się na SHH przez Putty dałem polecenie chmod +x wlacz.sh a następnie ./wlacz.sh.
Niby wchodzi na tego screena ale już serwera nie chce odpalić. Serwer startuje dopiero wtedy, gdy wcisne CTRL+a+d co tylko "minimalizowało" screena. Gdy wcisne po raz koljeny ctrl+a+d to wywala mi Putty ale serwer chodzi dalej.
Użytkownik Makale edytował ten post 24.01.2013 18:38
Odpowiedz

  • +
  • -
MarWit - zdjęcie MarWit 24.01.2013

Bo robisz to zle.
screen -r 31230 -X ./hlds_run -game cstrike +map de_dust +servercfgfile server.cfg +maxplayers 22 +port 27016
lub
screen -r 31230 -X exec ./hlds_run -game cstrike +map de_dust +servercfgfile server.cfg +maxplayers 22 +port 27016
Odpowiedz

  • +
  • -
JaBydlak - zdjęcie JaBydlak 24.01.2013

ew możesz użyć do włączenia i wyłączenia serwera tego: http://hlds.pl/Skryp...y_HLDS_by_Vikus
i później tylko wywoływać komendy
Odpowiedz

  • +
  • -
Na 5tyk - zdjęcie Na 5tyk 25.01.2013

Albo wgraj Swift Panel. Możesz włączać/wyłączać/restartować serwer. Ustawić pingboost, fpsy itp.
Odpowiedz

  • +
  • -
Makale - zdjęcie Makale 27.01.2013

Nie potrzebuje całego skryptu tylko włącz i wyłącz (fajnie by było mieć konsole na WWW).
MarWit:
Teraz działa, włącza screen'a, ale wyskakuje mi coś takiego:


makale@chello:~/cs/pb$ Cannot exec './hlds_run': Nie ma takiego pliku ani katalogu
Pomimo tego, że plik "włącz.sh" jest w folderze pb, gdzie są pliki servera (hlds_run, inne hlds'y cstrike, etc).


EDIT:
Hmm głupi błąd. Ale pewnie "nie umiem" też dodać, aby sam przeszedł do folderu. Taki kod:

screen -r 4163
cd cs
cd pb
-X ./hlds_run -game cstrike +map de_dust +servercfgfile server.cfg +maxplayers 22 +port 27016

Takie coś też nie:

screen -r 4163
/home/cs/pb -X ./hlds_run -game cstrike +map de_dust +servercfgfile server.cfg +maxplayers 22 +port 27016

Wiem, wiem. To są podstawy...
Użytkownik Makale edytował ten post 27.01.2013 15:56
Odpowiedz

  • +
  • -
MarWit - zdjęcie MarWit 27.01.2013

screen -r 4163 -X ~/cs/pb/hlds_run -game cstrike +map de_dust +servercfgfile server.cfg +maxplayers 22 +port 27016
Odpowiedz

  • +
  • -
Makale - zdjęcie Makale 27.01.2013

Hmmm. Coś chyba nadal nie tak...


makale@chello:~$ cd cs
makale@chello:~/cs$ cd pb
makale@chello:~/cs/pb$ ./wlacz.sh
makale@chello:~/cs/pb$
Nie dzieje się nic, a serwer jak był wyłączony tak jest nadal.


EDIT:

Ten błąd:


makale@chello:~/cs/pb$ ./wlacz.sh
[detached from 7506.pts-0.chello]
./wlacz.sh: line 2: -X: nie znaleziono polecenia
makale@chello:~/cs/pb$

mam przy tym kodzie:

screen -r 7506 
-X ~/cs/pb/hlds_run -game cstrike +map de_dust +servercfgfile server.cfg +maxplayers 22 +port 27016

Użytkownik Makale edytował ten post 27.01.2013 16:41
Odpowiedz

  • +
  • -
Cypis' - zdjęcie Cypis' 27.01.2013

Zrób sobie plik start.sh którym będziesz odpalał sobie serwer przykładowo z takim kodem:

#!/bin/sh
export LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH"
echo "Starting Server CS1.6"
sleep 1
screen -A -m -d -S twoja_nazwa ./cs/pb/hlds_run -game cstrike +map de_dust +servercfgfile server.cfg +maxplayers 22 +port 27016


Żeby odpalić ten skyrpt start.sh musisz mu nadać prawa do wykonywania:

chmod +x start.sh


Odpalamy skrypt i serwer powinien działać w tle:

./start.sh


Dobra a więc jak byś chciał zobaczyć konsole serwera to piszesz taki kod do ssh:

screen -x twoja_nazwa


Żeby nie zatrzymać serwera jak patrzysz konsole serwera to naciskasz klawisze ctrl+a+d
Żeby zatrzymać to chyba trzeba nacisnać ctrl+c
Odpowiedz

  • +
  • -
Makale - zdjęcie Makale 27.01.2013

@UP:
Obsługę screena przez Putty znam :)
Wyjaśnij mi do oznacza to:

#!/bin/sh
export LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH"
echo "Starting Server CS1.6"
sleep 1


oraz to: screen -A -m -d -S

Przecież screena muszę mieć na sztywno bo na moim koncie jest kilka serwerów i kilka screenów.
Odpowiedz

  • +
  • -
MarWit - zdjęcie MarWit 27.01.2013

Makale" data-cid="507483" data-time="1359301161">

mam przy tym kodzie:

screen -r 7506
-X ~/cs/pb/hlds_run -game cstrike +map de_dust +servercfgfile server.cfg +maxplayers 22 +port 27016

To ma byc wszystko w jednej linijce.
Makale" data-cid="507500" data-time="1359304248">

oraz to: screen -A -m -d -S

man screen
lub/i
screen -h
prawde Ci powie .
Odpowiedz

  • +
  • -
Makale - zdjęcie Makale 27.01.2013

@UP. Po wpisaniu tego w jednej linijce nie dzieje się dosłownie nic.
Z tego co wiem to właśnie kolega, z którym tą masyzne mam powiedział, abym tego nie używał. No ale spróbuje. To jak ma ostatecznie wyglądać kod tego start.sh włacz.sh ?
Użytkownik Makale edytował ten post 27.01.2013 19:23
Odpowiedz