Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  7 2251
Hei, Jeg har en hjemmeside til en Rust server jeg eier.
Jeg ønsker å legge til en statusbar hvor det står om serveren er online eller offline, og hvor mange spillere det er på den i nåtid.

Har søkt litt selv og har funnet en API til serveren som gir ut info om servern. Legger ved linken her:

http://rust-servers.net/api/?object=...ha46oqw78miwn5

Og denne infoen kommer opp:

{ "id":"59948", "name":"[EU]C4PLAY|10X|RANK|LEVEL|iCRAFT|QS|KIT|TP|EVENTS|WIPED29.01", "address":"c4.spillvert.no", "port":"28315", "private":"0", "password":"0", "location":"Europe", "hostname":"[EU]C4PLAY|10X|RANK|XP|BIG LOOT|QS|KIT|HOME|TP|EVENTS|WIPED04.0", "is_online":"1", "players":"2", "maxplayers":"100", "version":"1353", "platform":"windows", "uptime":"100", "score":"20", "rank":"176", "votes":"12", "favorited":"2", "comments":"0", "url":"http://rust-servers.net/server/59948/", "last_check":"February 14th, 2016 07:21 PM EST", "last_online":"February 14th, 2016 07:21 PM EST" }


Om noen kunne laget et script eller noe og forklart meg hvordan jeg legger dette inn. Ønsker kun simpel tekst hvor det står feks "4 of 100 players online"
Og "Server is Online" og at dette endrer seg automatisk. Kan ikke svært mye om programmering osv. Takker for all hjelp
Dette viser om server er online. Dersom server er offline skal variabelen være "0".

Kode

"is_online":"1"
Dette viser hvor mange spillere som er på server:

Kode

"players":"2"
Du kan bruke PHP for dette, se eksempel her: Get text from Web page via PHP [duplicate]

I'm trying to get the text from a certain URL, this text is located between two texts. For example :

Kode

<td >Item number:</td><td >**GX12033111**</td></tr>
I need to get the GX12033111 part,
I've tried this :

Kode

<?php
$file_string = file_get_contents('LINK GOES HERE');
preg_match('/<td >Item number:</td><td >(.*)<\/td><\/tr>/i', $file_string, $title);
$title_out = $title[1];
echo $title_out ;
?>
Vis hele sitatet...
Try using:

Kode

preg_match('@<td >Item number:</td><td >([^<]+)</td></tr>@i', $file_string, $title);
Vis hele sitatet...
Tipper du kan fikse samme biffen ved å lese deg opp på regulære uttrykk som denne fyren har gjort og bruke det på siden du linket til.

Her er manualen til preg_match: php.net/manual/en/function.preg-match.php
Trigonoceps occipita
vidarlo's Avatar
Donor
Bare sånn for ordens skuld, turbolego. Du er klar over at PHP har funksjoner for å lese JSON? Det er...enklare enn regexp.

https://secure.php.net/json

Kode

// $respons = json som blir oppgitt i tråden.
$json = json_decode($respons);

$playercount = $json['players'];

// Vis antall spillere :)
echo($playercount);
Du kan gjøre dette for å returnere antall spillere.

For å vise antall spillere / maksimum spillere, ville du gjort noe lignende:

Kode

$playercount = $json['players'];
$maxplayers = $json['maxplayers'];

// Vis antall spillere :)
echo($playercount . "/" . $maxplayers);
Sist endret av Kroniz; 15. februar 2016 kl. 08:26.
Trådstarter
49 3
Tusen takk for svar! Dessverre er dette helt gresk for meg og jeg skjønner lite av dette. Om noen av dere kunne laget ett ferdig php script og eventuelt html så jeg får lagt det på hjemmesiden. Jeg kan kun en smule html og skjønner ingenting av dette, haha.
Sitat av dIFEO Vis innlegg
Tusen takk for svar! Dessverre er dette helt gresk for meg og jeg skjønner lite av dette. Om noen av dere kunne laget ett ferdig php script og eventuelt html så jeg får lagt det på hjemmesiden. Jeg kan kun en smule html og skjønner ingenting av dette, haha.
Vis hele sitatet...
Foreslår at du setter deg ned og faktisk lærer deg programmering istedet for å forvente at alle skal løse problemene dine uten vederlag. Som nevnt i stickyen for underforumet bør man forvente en viss egeninnsats. Om andre løser dine elementære problemer vil du bare måtte komme tilbake hver eneste gang du har et lignende problem og kaste bort både din egen og andres tid.

Å lære seg nok grunnleggende programmering til å hente en fil og parse JSON-resultatet er ikke akkurat noen science rocket, uansett om det skal gjøres i php eller ethvert annet moderne språk.

Codecademy har et online-kurs for å lære php her: https://www.codecademy.com/learn/php

Gjør en innsats, prøv selv, og kom tilbake og spør når du faktisk har satt deg fast
Sist endret av liasis; 15. februar 2016 kl. 17:08.
Et annet alternativ er å registrere serveren din på http://www.gametracker.com/games/rust/ og bruke en av embed-widgetene de tilbyr på nettsiden din.
Ønsker kun simpel tekst hvor det står feks "4 of 100 players online"
Og "Server is Online" og at dette endrer seg automatisk. Kan ikke svært mye om programmering osv. Takker for all hjelp
Vis hele sitatet...
Du kan kjøre alt på klientsiden med f.eks jQuery.getJSON().
Her er Pen,
du kan trykke på "Export .zip" nedre i høyere hjørne,da får du med import av jQuery.

Men se på det @liasis skriver,
spørre etter ferdig kode av litt størrelse uten egeninnsats er upopulært i alle forum.