Visszatérés System() -be oldal újratöltés után
Sziasztok!
Megint zaklatnálak titeket egy System() -es kérdéssel.
Az lenne a problémám, hogy amikor system-el elindítok linux-on egy játékszervert az alapból kiírja az oldalra azt, ami éppen a consolban (screen) van. Ha viszont bezárom az oldalt és újra visszamegyek a weboldalra, hogyan tudnám megnézni, hogy éppen mi van a screen-ben?
screen -r PID használata nem lehetséges, mert ahhoz csatlakoznom kéne ssh-ra amit nem szeretnék.
Előre is köszönöm a segítséget, Byez
■ Megint zaklatnálak titeket egy System() -es kérdéssel.
Az lenne a problémám, hogy amikor system-el elindítok linux-on egy játékszervert az alapból kiírja az oldalra azt, ami éppen a consolban (screen) van. Ha viszont bezárom az oldalt és újra visszamegyek a weboldalra, hogyan tudnám megnézni, hogy éppen mi van a screen-ben?
screen -r PID használata nem lehetséges, mert ahhoz csatlakoznom kéne ssh-ra amit nem szeretnék.
Előre is köszönöm a segítséget, Byez
log
1. nem indítanék php-ból szervert, illetve nem így. Csinálnék egy indító file-t amiben a kimenetet egy fileba irányítanám vagy logoltatnám a szervert egy naplófileba. Php-ból max ezt az indító scriptet hívnám meg (ez tipikusan init.d-s dolog), illetve még ezt sem. cron indítaná a szervert, phpból csak egy file-t tennék le filerendszerbe amit cronból lehet monitorozni (akár egy fam eventre is lehet kötni, ha nagyon szépen akarod megcsinálni és akkor nem kell cron). Az indító file győződjön meg róla, hogy fut-e már a szerver, ha igen, akkor nem csinál semmit (megakadályozandó az párhuzamos szerverindításokat)
2. a szerver monitorozása ezek után annyiból áll, hogy a naplófile-t vagy a kimenet file-t lehet nézegetni (fopen-nel megnyitod, felolvasod és kiírod a weboldalra) lehet úgy is, hogy az utolsó pár sort olvasod fel és periodikusan frissíted a monitorozó oldalad, ajax-szal vagy anélkül oldod meg a frissülést.
érdemes google-lel szétnézni:
pl. egy lehetséges kiinduló keresés
3. lassan konkrétan elárulhatnád mit szeretnél csinálni nem csak így csepegtetve - ha jól sejtem, egy játék szerver admin felületét fabrikálod, ahol vezérelni és monitorozni lehet ezen szerverek futását.
re: log
Van egy start nevű fájlunk ami indítja a szervert. Ebben is van olyan hogy: ha már fut nem indítja el még1x.
De hogyan tudnám loggoltatni a screen?
konkrétumok
Egyébként jó lenne ha nem kéne sötétben tapogatóznom. Mi lenne ha releváns kódrészleteket írnál a kérdéseid mellé? Mit hívsz, hogy hívod?
Én valahogy így képzelem a szerver indítását (ez ugye az inditóscriptben van):
game_serverd >/var/log/gameserver_kimenet.log 2>/var/log/gameserver_errors.log
Tehát a szerver kimenetét és a hibakimenetét file-ba iranyítanám, ezeket a fileokat nézegeted php-ból.
de azért megnézném az opcióit, hátha tud magától is logfile-ba írni és nem csak a stdout-ra.
re
Így néz ki a start file.
Ebben nincs benne a logolás, mert nem ment és kivettem belőle. Remélem tudsz segíteni, byez
persze hogy nem ment
start_steam.sh
Daemon
így se megy
Amikor elindul a szerver, akkor a log fájlok üresen és azok is maradnak.
Jelenleg a /home/steam/LOGS/ mappába logolnék, ha menne. Ötlet?
magad ura
fájl se jó
jaj
Mint mondtam a kályhától kéne elindulni. Állíts le minden futó steam szervert, screen-t és lépésenként haladj.
1. steam szerver indítása normál (NEM SCREEN) konzolon
2. steam szerver indítása normál konzolon kimeneteit file-ba irányítva
3. steam szerver indítása daemonként a daemonize-zal
4. steam szerver indítása daemonként a daemonize-zal, kimenei file-ba irányítva
5. php használata a 4.pont megvalósítására
6. php használata a steam logok megjelenítésére
7. megoldás beküldése a fórumra :)
neeeem jóó
Muszály lenne screen-el futtatni, hogy a felhasználók beletudjanak nézni.
A http://www.hmug.org/man/1/screen.php oldalon sem találtam semmit.
Így megy.
Így viszont nem
Próbáltam a screen-nél az -L kapcsolót, de semmi. Ötlet?
admin felület vs terminal
shellből meg szintén tudod olvasni a naplófilet.
De ha mindenáron screenelni akarsz, akkor indítsd a szervered screen nélkül + utána indíts egy
retek
Amúgy sehogy nem megy. Hiába indítom el screen nélkül, utánna nem tudom screen-be rakni úgy hogy logoljon.
És én alapból úgy szeretném, hogy ne kelljen semmit beírogatni csak rányom a user a start file-ra és elindul screen-el logolva. Eddig is így volt és nem hinném hogy a user-ek örülnének neki, hogyha megkéne tanulniuk elindítani a szerverüket. Pont jó nekik ha rányomnak a start file-ra.
És a webes rendszert sem szeretném átírni.
Privát ment.
itt megütötte valami a szememet
ötlet?