|
|
|
|
|
|
|
|
|
|
SGT_FW
by Aku_Aku. 05/31/26 11:05
|
|
|
|
|
|
|
3 registered members (TipmyPip, 2 invisible),
2,943
guests, and 6
spiders. |
|
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: Serverliste ??
[Re: Espér]
#315344
03/14/10 20:30
03/14/10 20:30
|
Joined: May 2009
Posts: 445 Peine, Germany
Razoron
Senior Member
|
Senior Member
Joined: May 2009
Posts: 445
Peine, Germany
|
Als erstes brauchst du ein Plugin, mit dem du daten an einen Server per HTTP posten kannst, oder ein plugin was direkt auf eine Datenbank zugreifen kann. Bei meiner Serverlsite benutze ich die HTTP Funktionen von ANet. Falls du so gut wie garnichts selber machen willst, kannst du dir die ANet Web Edition oder ANet Professional kaufen und die dazugehörigen Templates benutzen. Ich habe meine Serverlist selber programmiert. Hier ein Beispiel aus dem ANet Manual:
function add_server_to_list(STRING* servername, STRING* map, STRING* players )
{
STRING* data;
STRING* result;
var httpid;
data = str_create("#100");
result = str_create("#100");
//Erstellt den String mit den Daten die zum PHP Skript gesendet werden:
str_cpy(data,"svname=");
str_cat(data,servername);
str_cat(data,"&map=");
str_cat(data,map);
str_cat(data,"&players=");
str_cat(data,players);
//Sendet die Daten an das PHP Skript das den Server in eine Datenbank schreibt:
httpid = http_post(_str("http://www.serverlist.com/add.php"),data);
while(http_get_status(httpid) == 0) {wait(1);} //wartet bis Daten empfangen werden
if(http_get_status(httpid) == 1) // Wenn Daten empfangen wurden
{
http_get_result(httpid,result);
if(str_to_num(result) == 1) //wenn das PHP Skript 1 zurückgegeben hat
{
error("Server added to list!");
http_free(httpid); //httpid wird nicht mehr benötigt
str_remove(data);
str_remove(result);
return;
}
}
//Verbindungsfehler oder Fehler im PHP Skript:
error("Server couldn't be added to list!");
http_free(httpid);
str_remove(data);
str_remove(result);
}
Der script sendet ein paar Daten an einen PHP Script, an http://www.serverlist.com/add.php.Nun zeige ich dir mal wie so ein Script aussehen könnte, er passt jetzt nicht zu dem Beispiel.
<?php
include "CONFIG.php";
$counter="1";
$servername=$_POST["servername"];
$ip=$_POST["ip"];
$map=$_POST["map"];
$maxplayers=$_POST["maxplayers"];
$mode=$_POST["mode"];
mysql_connect("localhost",$user,$password) or die("Couldn't connect!");
mysql_select_db("airfix");
$query=mysql_query("SELECT online FROM servers WHERE number='$counter'");
$test=mysql_query("SElECT id FROM servers WHERE name='$servername' AND online='1'");
if(mysql_num_rows($test)==0)
{
$online=mysql_fetch_object($query);
if($online->online==0)
{
mysql_query("UPDATE servers Set name='$servername',ip='$ip',map='$map',maxplayers='$maxplayers',mode='$mode',online='1',players='1' WHERE number='$counter'");
}
while($online->online==1)
{
$counter++;
$query=mysql_query("SELECT online FROM servers WHERE number='$counter'");
$online=mysql_fetch_object($query);
if($online->online==0)
{
$query=mysql_query("UPDATE servers Set name='$servername',ip='$ip',map='$map',maxplayers='$maxplayers',mode='$mode',online='1',players='1' WHERE number='$counter'");
}
}
echo "rdy";
}
else
{
echo "-1";
}
?>
Falls du das wirklich machen willst, solltest du dich ein wenig mit SQL Befehlen unf PHP auseinandersetzen.
|
|
|
Re: Serverliste ??
[Re: Razoron]
#315347
03/14/10 20:32
03/14/10 20:32
|
Joined: Mar 2008
Posts: 2,247 Baden Württemberg, Germany
Espér
OP
Expert
|
OP
Expert
Joined: Mar 2008
Posts: 2,247
Baden Württemberg, Germany
|
ich kann weder SQL noch PHP Y_Y ( bin schon froh das ich via HTML einigermaßen zurechtkomme.. mit seeeehr viel Hilfe..)
Und von machen WOLLEN.. ist keine rede..
Eher MÜSSEn.... Ich kann ja ned jeden user die batchdaten imme rund immer wieder ändenr lassen...
Last edited by Espér; 03/14/10 20:35.
|
|
|
|