/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Info fra en CS-server i PHP
Fra : Nørden


Dato : 08-07-01 23:00

Hvordan tager man noget info fra en CS-server med en IP eksempel
212.254.15.78:27015 så det vises

1. hvor mange der er online
2. hvem der er online
3. hvilken maps der spilles

Det er nok det jeg har brug for indtil nu.

Ved ikke om der findes nogle programmer til det men hvis ved hvordan man
skal gøre vil jeg blive meget glad.

Mvh Nørden



 
 
Stefan Bruhn (08-07-2001)
Kommentar
Fra : Stefan Bruhn


Dato : 08-07-01 23:05

On Mon, 9 Jul 2001 00:00:06 +0200, "Nørden" <noerden@ready.dk> wrote:

>Hvordan tager man noget info fra en CS-server med en IP eksempel
>212.254.15.78:27015 så det vises

Du skal bruge http://php.net/manual/en/function.fsockopen.php til at
åbne forbindelsen.

Du må selv finde ud af hvordan du taler til CS serveren, det ved jeg
ikke og det har ikke noget med PHP at gøre ;)

Mvh. / Regards Stefan Bruhn
--
<?$email = unserialize("a:15:{i:0;i:115;i:1;i:116;i:2;i:101;i:3;i:102
;i:4;i:97;i:5;i:110;i:6;i:64;i:7;i:98;i:8;i:114;i:9;i:117;i:10;i:104
;i:11;i:110;i:12;i:46;i:13;i:116;i:14;i:111;}");
for ($i=0;$i<=15;$i++) {echo chr($email[$i]);}?>

Nørden (08-07-2001)
Kommentar
Fra : Nørden


Dato : 08-07-01 23:10

Ser på det

Stefan Bruhn <news003@3x7.dk> skrev i en
nyhedsmeddelelse:e6mhkt4sib9edlf70mf96hinbjf1h3urnv@ghashul.dk...
> On Mon, 9 Jul 2001 00:00:06 +0200, "Nørden" <noerden@ready.dk> wrote:
>
> >Hvordan tager man noget info fra en CS-server med en IP eksempel
> >212.254.15.78:27015 så det vises
>
> Du skal bruge http://php.net/manual/en/function.fsockopen.php til at
> åbne forbindelsen.
>
> Du må selv finde ud af hvordan du taler til CS serveren, det ved jeg
> ikke og det har ikke noget med PHP at gøre ;)
>
> Mvh. / Regards Stefan Bruhn
> --
> <?$email = unserialize("a:15:{i:0;i:115;i:1;i:116;i:2;i:101;i:3;i:102
> ;i:4;i:97;i:5;i:110;i:6;i:64;i:7;i:98;i:8;i:114;i:9;i:117;i:10;i:104
> ;i:11;i:110;i:12;i:46;i:13;i:116;i:14;i:111;}");
> for ($i=0;$i<=15;$i++) {echo chr($email[$i]);}?>



Peter Brodersen (09-07-2001)
Kommentar
Fra : Peter Brodersen


Dato : 09-07-01 00:27

On Mon, 09 Jul 2001 00:05:11 +0200, Stefan Bruhn <news003@3x7.dk>
wrote:

>Du skal bruge http://php.net/manual/en/function.fsockopen.php til at
>åbne forbindelsen.

CS-servere snakker UDP'sk, så her er fsockopen ikke en løsning. Som
nævnt i et andet indlæg, vil jeg anbefale at bruge programmer, der kan
gøre tricket for én i forvejen. Man kommer næppe til at kunne undgå
eksterne programmer, men de behøves absolut ikke at blive kørt af PHP.


--
- Pede
Professionel nørd

Niels Andersen (09-07-2001)
Kommentar
Fra : Niels Andersen


Dato : 09-07-01 01:03

"Peter Brodersen" <professionel@nerd.dk> wrote in message
news:60rhktg1jbrtarev8ulssin3hjkt4t7fkp@news.worldonline.dk...
> CS-servere snakker UDP'sk, så her er fsockopen ikke en løsning.

PHP4 udkom for laaang tid siden. :)

http://php.net/manual/en/function.fsockopen.php
"Note: The timeout parameter was introduced in PHP 3.0.9 and UDP support was
added in PHP 4."

I øvrigt var den med helt uofficielt et stykke tid før PHP4 kom, så vidt jeg
husker.

--
Mvh.

Niels Andersen



Peter Brodersen (09-07-2001)
Kommentar
Fra : Peter Brodersen


Dato : 09-07-01 01:25

On Mon, 9 Jul 2001 02:03:23 +0200, "Niels Andersen"
<niels-usenet@myplace.dk> wrote:

>PHP4 udkom for laaang tid siden. :)
>
>http://php.net/manual/en/function.fsockopen.php
>"Note: The timeout parameter was introduced in PHP 3.0.9 and UDP support was
>added in PHP 4."

Hold da op - jeg har spildt mit liv, kan jeg mærke! Hvorfor var der
ingen, der fortalte mig det?

Nu har jeg svedt med at forsøge at compile diverse
UDP-proxy-sjov-programmer og hvad-ved-jeg... Nå, så ved jeg godt hvad
jeg skal lave i de næste par måneder.


(jeg vil dog stadigvæk slå et slag for at "lav-alting-on-the-fly" ikke
nødvendigvis er den bedste løsning på alting - der er jo ikke meget
sjov ved at man sidder på en hurtig forbindelse med en hurtig svartid,
hvis serveren lige skal gå igang med at checke lidt af hvert og
connecte til andre servere...)


--
- Pede
Professionel nørd

Niels Andersen (09-07-2001)
Kommentar
Fra : Niels Andersen


Dato : 09-07-01 09:12

"Peter Brodersen" <professionel@nerd.dk> wrote in message
news:75uhkto1hpppf0qqoo97fjf7sl021ooll7@news.worldonline.dk...
> (jeg vil dog stadigvæk slå et slag for at "lav-alting-on-the-fly" ikke
> nødvendigvis er den bedste løsning på alting - der er jo ikke meget
> sjov ved at man sidder på en hurtig forbindelse med en hurtig svartid,
> hvis serveren lige skal gå igang med at checke lidt af hvert og
> connecte til andre servere...)

Det vil jeg give dig ret i. Men den kunne jo cache resultatet, eller det
kunne være et PHP-script der blev startet med fx. cron, som så lagde
resultaterne et sted hvor sitet kan læse det.

--
Mvh.

Niels Andersen



Nezar Nielsen (09-07-2001)
Kommentar
Fra : Nezar Nielsen


Dato : 09-07-01 01:01

"Peter Brodersen" <professionel@nerd.dk> wrote in message
news:60rhktg1jbrtarev8ulssin3hjkt4t7fkp@news.worldonline.dk...

> >Du skal bruge http://php.net/manual/en/function.fsockopen.php til at
> >åbne forbindelsen.
>
> CS-servere snakker UDP'sk, så her er fsockopen ikke en løsning.

jowjow:

fsockopen("udp://noget.hej:204");

se iøvrigt http://linux.control.dk/~nezar/counterstrike.phps jeg har
modificeret det en lille smule, men går ud fra at folk der er interesserede
kan kigge på de links den originale forfatter har lavet i toppen..

--
Mvh. Nezar Nielsen
http://fez.dk/




Lars Petersen (09-07-2001)
Kommentar
Fra : Lars Petersen


Dato : 09-07-01 11:59

> se iøvrigt http://linux.control.dk/~nezar/counterstrike.phps jeg har
> modificeret det en lille smule, men går ud fra at folk der er
interesserede
> kan kigge på de links den originale forfatter har lavet i toppen..

Den dims der regner playing time ud, virker den? Det kan jeg næsten
ikke tro... For at få tiden regnet rigtigt ud var jeg nødt til at
implementere
IEEE-754 single precision floating point ...

Jeg har en kørende her:

http://wshlman.moons.dk/hl/monitor.php

Der er ikke åben kilde lige nu, men det kan jo være ;)
Desuden giver jeg Peter Brodersen ret i at det ikke er hensigtsmæssigt
at vise live info - hellere cache i en database eller sådan...

http://wshlman.moons.dk/hl/

Er en remote controller til half life - men den virker ikke lige nu,
da de for nyligt implementerede challenge/response, og jeg har ikke
haft tid til at implementere det i min kode endnu...

OT: For øvrigt kan jeg anbefale http://wshlman.moons.dk/ WS
Half Life Manager - et program der svarer lidt til GameSpy - gratis
og Dansk ;) Der kommer en ny version meget snart, af extra features
kan nævnes:

* Afspilning af demoer
* Remote control af servere
* mIRC integration
* Admin_mod aware
* Multitrådet refreshing (meget hurtigt)
og meget mere ;)


--
-
Lars
http://coder.dk/sohofaq.php - Uofficiel WOL SOHO 77 FAQ
When mailing me, remember there is no truth in my mail!



Nezar Nielsen (09-07-2001)
Kommentar
Fra : Nezar Nielsen


Dato : 09-07-01 15:53

Lars Petersen wrote:

>>se iøvrigt http://linux.control.dk/~nezar/counterstrike.phps jeg har
>
> Den dims der regner playing time ud, virker den? Det kan jeg næsten
> ikke tro... For at få tiden regnet rigtigt ud var jeg nødt til at
> implementere
> IEEE-754 single precision floating point ...


Jeg går ud fra at det er ca. det samme, som der bliver udført i
getnextplaytime funktionen..


> Desuden giver jeg Peter Brodersen ret i at det ikke er hensigtsmæssigt
> at vise live info - hellere cache i en database eller sådan...


Mjaeh, det handler vel bare om prioritering, hvis man gerne vil vise
*helt aktuelle* informationer, så henter man dem realtime, ellers gør
man ikke :)

--
Mvh. Nezar Nielsen
http://fez.dk/


Nørden (10-07-2001)
Kommentar
Fra : Nørden


Dato : 10-07-01 10:01

Hvor skal man sætte ip og port nummer hen i det link du har sendt ???
Nezar Nielsen <tumpen@fez.dk> skrev i en
nyhedsmeddelelse:Wz627.1074$6x5.123694@news000.worldonline.dk...
> "Peter Brodersen" <professionel@nerd.dk> wrote in message
> news:60rhktg1jbrtarev8ulssin3hjkt4t7fkp@news.worldonline.dk...
>
> > >Du skal bruge http://php.net/manual/en/function.fsockopen.php til at
> > >åbne forbindelsen.
> >
> > CS-servere snakker UDP'sk, så her er fsockopen ikke en løsning.
>
> jowjow:
>
> fsockopen("udp://noget.hej:204");
>
> se iøvrigt http://linux.control.dk/~nezar/counterstrike.phps jeg har
> modificeret det en lille smule, men går ud fra at folk der er
interesserede
> kan kigge på de links den originale forfatter har lavet i toppen..
>
> --
> Mvh. Nezar Nielsen
> http://fez.dk/
>
>
>



Mads United (10-07-2001)
Kommentar
Fra : Mads United


Dato : 10-07-01 10:26

> Hvor skal man sætte ip og port nummer hen i det link du har sendt ???

hvis du kigger på www.gameserver.dk så vil du finde forklaring til det hele!



Nørden (10-07-2001)
Kommentar
Fra : Nørden


Dato : 10-07-01 11:28

Jeg takker
Mads United <mmm@graffiti.net> skrev i en
nyhedsmeddelelse:9iehjc$cc5$1@sunsite.dk...
> > Hvor skal man sætte ip og port nummer hen i det link du har sendt ???
>
> hvis du kigger på www.gameserver.dk så vil du finde forklaring til det
hele!
>
>



Nørden (10-07-2001)
Kommentar
Fra : Nørden


Dato : 10-07-01 11:37

Nu har jeg fået det til at virke det fra www.gameserver.dk men jeg får en
fejl i toppen af det hele den lyder som
Warning: socket_set_timeout() is not supported in this PHP build in
counterstrike.php on line 76

og i linie 76 står der: socket_set_timeout($cssocket,0,500000);

Nogle der ved hvad der skal stå i stedet for?

Mvh Nørden

Mads United <mmm@graffiti.net> skrev i en
nyhedsmeddelelse:9iehjc$cc5$1@sunsite.dk...
> > Hvor skal man sætte ip og port nummer hen i det link du har sendt ???
>
> hvis du kigger på www.gameserver.dk så vil du finde forklaring til det
hele!
>
>



Nezar Nielsen (10-07-2001)
Kommentar
Fra : Nezar Nielsen


Dato : 10-07-01 12:26

"Nørden" <noerden@ready.dk> wrote in message
news:3b4adb28$0$288$edfadb0f@dspool01.news.tele.dk...
> Nu har jeg fået det til at virke det fra www.gameserver.dk men jeg får en
> fejl i toppen af det hele den lyder som
> Warning: socket_set_timeout() is not supported in this PHP build in
> counterstrike.php on line 76

Prøv at fjerne/udkommentere linie 76 med socket_set_timeout-kaldet så.

--
Mvh. Nezar Nielsen
http://fez.dk/




Niels Andersen (08-07-2001)
Kommentar
Fra : Niels Andersen


Dato : 08-07-01 23:11

"Nørden" <noerden@ready.dk> wrote in message
news:3b48d836$0$25657$edfadb0f@dspool01.news.tele.dk...
> Hvordan tager man noget info fra en CS-server med en IP eksempel

Hvorfor er det lige at "alle" CS-brugere går ud fra at alle ved hvad "CS"
er?
Kunne man ikke bare én gang skrive det fuldt ud i trådens første indlæg?

1 "A reagerer ikke på mine ændringer i konfigurationen"
2 "Har i nogle tips til at optimere W?"
3 "Er N lukket?"
4 "Jeg har 2 MB til salg"

FUT: dk.snak.off-topic
(eller måske dk.admin.netikette)

Løsningsforslag:
1: Fx. Apache
2: Fx. Windows
3: Sikkert Napster
4: MotherBoard? MegaByte?

Og det var så ugens sure opstød... :)

--
Mvh.

Niels Andersen



Peter Brodersen (09-07-2001)
Kommentar
Fra : Peter Brodersen


Dato : 09-07-01 00:25

On Mon, 9 Jul 2001 00:00:06 +0200, "Nørden" <noerden@ready.dk> wrote:

>Det er nok det jeg har brug for indtil nu.

Hvis du har mulighed for at køre qstat, så kan det gøre livet lidt
lettere, idet du blot kan trække data ud fra den. Qstat kan hentes fra
http://www.qstat.org/

Jeg har lidt af det, du efterlyser, i drift på min lille hyggeserver:
http://cs.bums.dk/ (der dog kun sjældent har besøgende, så den er
måske ikke så spændende at kigge på) - jeg har et cron-job kørende på
linuxdåsen, der en gang i minuttet kører følgende:

: ~/qstat24c/qstat >~/qstat24c/html/qstat.raw -f ~/qstat24c/template/bums.lst -P

.... altså kører qstat, outputter til en fil ved navn "qstat.raw",
læser en liste fra filen "bums.lst" og angiver at den også skal hente
spiller-navne.


Filen "bums.lst" indeholder blot følgende linie:
HLS 127.0.0.1
.... men der kunne fx lige så godt have stået:
HLS 212.254.15.78
.... som nok er interessant i dit tilfælde

Selve qstat.raw-filen har jeg symlinket fra mit web-hjemkatalog - du
kan se den her:
http://cs.bums.dk/qstat.raw

Nu har du al den information, du skal bruge i den fil. Så er det bare
at banke noget PHP sammen. Du kan jo starte med fx:

: if (file_exists("qstat.raw")) {
: $stat = file("qstat.raw");
: $status = preg_split("/\s+/",$stat[1]);
: if ($status[1] == "DOWN" || !$status[1]) {
: print "<span style=\"color: red;\">Serveren kører ikke!</span>";
: } elseif ($status[1] == "no") {
: // jeg går her ud fra at serveren har for travlt til at svare...
: print "<span style=\"color: orange;\">Serveren skifter bane...</span>";
: } else {
: print "<span style=\"color: blue;\">Serveren kører:</span>";
: // Tilføj selv en while-løkke til at hive brugernes navne ud
: }
: print "<br>- " . date( 'd. M Y H:i', filemtime("qstat.raw"));
: } else {
: print "<span style=\"color: red;\">Ingen serverdata!</span>";
: }

(koloner kun sat ind i starten af linien for at koden ikke bryder og
bliver mere uoverskuelig)

.... og så selv passe den til.


--
- Pede
Professionel nørd

Michael Jensen (09-07-2001)
Kommentar
Fra : Michael Jensen


Dato : 09-07-01 12:42


"Nørden" <noerden@ready.dk> wrote in message
news:3b48d836$0$25657$edfadb0f@dspool01.news.tele.dk...
> Hvordan tager man noget info fra en CS-server med en IP eksempel
> 212.254.15.78:27015 så det vises
>
> 1. hvor mange der er online
> 2. hvem der er online
> 3. hvilken maps der spilles
>
> Det er nok det jeg har brug for indtil nu.
>
> Ved ikke om der findes nogle programmer til det men hvis ved hvordan man
> skal gøre vil jeg blive meget glad.

Du kunne eventuelt prøve at kigge lidt på
http://phpclasses.upperdesign.com/browse.html/package/178

Det ser ud til at denne klasse kunne gøre arbejdet noget nemmere for dig.

--
Hilsen Michael



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408943
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste