Envie de parler avec les autres membres de la communauté ? Alors venez vous connecter, vous vous sentirez moins seul !
Envie de parler avec les autres membres de la communauté ? Alors venez vous connecter, vous vous sentirez moins seul !
Rejoignez-nous sur le discord Urban Terror France !
Statistiques globales et en temps réel de la totalité des serveurs d'Urban Terror. Suivez l'évolution du nombre de joueurs sur Urban Terror !
Guide rapide concernant l'inscription sur le site officiel du jeu. Créez ainsi votre compte joueur qui permet d'être authentifié sur les serveurs de jeu de la 4.2 !
cUrl ? Non, je ne pense pas :pSkob a écrit :Je suppose que ce genre de services utilisent la lib cUrl pour communiquer avec les masters afin de pécho les infos. Demande plus d'infos aux devs d'Urt.info pour savoir comment ils font.
On peut faire des tas de choses intéréssantes. Et puis ça peut être un bon entrainementSkob a écrit :La question que je me pose, c'est pourquoi vouloir créer ce qui l'est déjà ?
Ça me rappelle quand j'ai codé un master server, c'était fun. Bon le code était imbitable, mais ça marchait.Blapecool a écrit :On peut faire des tas de choses intéréssantes. Et puis ça peut être un bon entrainementSkob a écrit :La question que je me pose, c'est pourquoi vouloir créer ce qui l'est déjà ?
Code : Tout sélectionner
function ViewServ($ip, $port)
{
$gametype = array(0 => "FFA", 1 => "FFA", 2 => "FFA", 3 => "TDM", 4 => "TS", 5 => "FTL", 6 => "CnH", 7 => "CTF", 8 => "BOMB");
if($server_socket = fsockopen("udp://".$ip, $port, $errno, $errstr, 1))
{
stream_set_timeout($server_socket, 3);
fputs($server_socket, str_repeat(chr(255), 4)."getstatus\n");
$server_reponse = fread($server_socket, 1500);
fclose($server_socket);
if(!empty($server_reponse))
{
if(!ereg(str_repeat(chr(255), 4)."print", $server_reponse))
{
$server_gametype = $gametype[preg_replace("#.+g_gametype.{1}([0-8]).+#is", "$1", $server_reponse)];
$server_host = preg_replace("#.+sv_hostname.{1}(.+).{1}g_followstrict.+#is", "$1", $server_reponse);
$server_map = preg_replace("#.+mapname.{1}(.+).{1}sv_privateClients.+#is", "$1", $server_reponse);
$server_slotstotal = preg_replace("#.+sv_maxclients.{1}([0-9]+).{1}sv_floodprotect.+#is", "$1", $server_reponse);
$server_slotsprivate = preg_replace("#.+sv_privateClients.{1}([0-9]+).{1}.+#is", "$1", $server_reponse);
$server_slots = $server_slotstotal - $server_slotsprivate;
$server_players = array_slice(explode("\n", preg_replace("#\n$#is", "", $server_reponse)), 2);
$server_playerss = count($server_players);
foreach($server_players as $server_p) {
$serv_c = preg_replace("#\^[0-9]#", "", $server_p);
$serv_pl .= preg_replace("#.+\"(.+)\"#", "$1 \n", $serv_c);
}
if(empty($serv_pl)) $serv_pl = "Serveur vide.";
}
}
}
else
{
echo $server_host = "OFFLINE";
}
return array($server_host, $server_slots, $server_map, $server_player, $server_playerss, $server_gametype);
}
Haha, non, faut les faire soi-même. Et d'expérience, ce n'est pas simple (enfin sur architecture distribuée sur plusieurs serveurs, pour un serveur unique c'est encore largement passable).Redhight a écrit :Super Barbatos, je vais voir ce que je peut tirer de cette fonction!! =) Sinon vous connaisser le panel de gestion de serveur de chez Liberty Game Hosting?
Il n'existerait pas un panel en php qui ressemblerait avec gestion des serveur urt et des serveur ts3?
Merci par avance!
La classe que j'ai fourni a 3 ans et pourtant elle est moins dégueu. Et heureusement que c'est du vieux code, parce que si UrT HD est codé comme ça, on est dans la merde grave.Barbatos a écrit :Heureusement que j'ai précisé que c'était une vieille fonction. Elle date d'il y a près de 4 ans.