1. GSManager
    1. Funktionen
    2. Unterstützte Spiele
    3. Neuigkeiten
    4. Statistiken
    5. Serverliste
  2. Lexikon
  3. Filebase
  4. Entwicklung
  5. Forum
    1. Dashboard
    2. Unerledigte Themen
  6. Web-Interface
  7. Artikel
  8. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Dateien
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. GSManager
  2. Forum
  3. Allgemeines
  4. Diskussionen

Join-Link auf Website

  • RaNgErID
  • 18. März 2009 um 15:06
Das Projekt GSManager (vormals ManuAdminMod) wurde am 01.01.2020 eingestellt - diese Internetpräsenz bleibt verfügbar, die Software wird aber nicht länger gepflegt. Vielen Dank für eure Unterstützung in den mehr als zehn vergangenen Jahren!
1. offizieller Beitrag
  • RaNgErID
    Anfänger
    Punkte
    200
    Beiträge
    33
    • 18. März 2009 um 15:06
    • #1

    Hallo PHPler

    ich hätte da mal eine Frage:
    ich möchte ein Join Now link setzen, sprich das man gleich von meiner HP aus auf mein Cod4/cod5 server connecten kann.

    nun zu meiner Frage:
    gefunden habe ich für Xfire & HLSW anders scheint es wohl nicht zu gehen oder ? ( oder gibt es noch andere möglichkeiten ausser über Xfire oder HLSW von einer HP aus connecten zu können ? )

    Variante 1 Xfire:

    Code
    xfire:join?game=codwawmp&server=meineIP:port   <<<< für COD5 WaW

    nun möchte ich aber das er das automatisch erkennt, um welches Game es sich handelt cod4 = cod4mp oder cod5 = codwawmp mit einer variable z.B. $codtype

    Code
    xfire:join?game=$codtype&server=$extip


    ip habe ich zuvor aus meiner Domain ausgelesen und übergeben "$extip"

    gibt es da eine möglichkeit ? {gamename} sieht ja immer so aus für cod5 = "Call of Duty: World at War" etc ...

    Nachtrag:
    ich nutze das script von manu "game_statusscript_206" welche ich sehr gut finde, Danke Manu für diese Geniale Script ^^


    mfG RaNgErID

    Einmal editiert, zuletzt von RaNgErID (18. März 2009 um 15:14)

  • manu
    Meister
    Punkte
    10.835
    Trophäen
    3
    Beiträge
    2.113
    • 18. März 2009 um 16:13
    • #2

    Poste mal deinen kompletten Code

  • RaNgErID
    Anfänger
    Punkte
    200
    Beiträge
    33
    • 18. März 2009 um 16:41
    • #3

    Hallo manu

    erst mal vorweg ich bin in sachen PHP ein DAU leider ...

    und zum CODE, habe lediglich deine statusscript angepasst speziell die Config, zu mehr hat es leider nicht gereicht ^^

    Spoiler anzeigen


    [PHP]"domain_config.php"

    <?php

    $extip = gethostbyname('meinedomain.org');
    $xfirelink = "xfire:join?game=codwawmp&server="; // cod4mp & codwawmp
    $meinedomain = "meinedomain.org";
    $port = "28960"; // Port deines Gameservers
    $timeout = 0.5; //Timeout in Sekunden
    $html = <<<HEREDOC

    <table>
    <tr>
    <td><b>Domain: <on>-[ Online ]-</on></b></td></tr>
    <td>$meinedomain:{port}<br /><br /></td>
    </tr>
    <tr>
    <td><b>Ping:</b> {ping}<br /><br /></td>
    </tr>
    <td><b>XFIRE:</b> <a href='$xfirelink$extip:28960'><b>Join NOW</b></a><br /></td>
    <tr>
    <td><b>HLSW:</b> <a href='hlsw://$extip:28960'><b>Join NOW</b></a></td>
    </tr>
    </table>
    HEREDOC;
    ?>
    [/PHP]

    Spoiler anzeigen


    [PHP]"domain_check.php"

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Serverstatus</title>
    <style type="text/css">
    body {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    }
    .playerlist {
    background-color: black;
    border-spacing: 1px;
    }
    .playerlist td {
    background-color: white;
    }

    .playerlist th {
    background-color: #FFFFFF;
    }
    .status_error {
    font-weight: bold;
    color: red;
    }
    .mapimage {
    border: 1px solid black;
    }
    on {
    color: #2ABF00;
    }
    </style>
    </head>
    <body>
    <h2>Online Serverstatus</h2>

    <?php
    include("domain_config.php");

    $con = fsockopen("udp://$meinedomain", $port, $errno, $errstr, 3);

    if (!$con) {
    echo "<b class='status_error'>Server offline</b>\n";
    }
    else {
    fwrite($con, "\xFF\xFF\xFF\xFFgetstatus\x00");
    stream_set_timeout($con, (int) $timeout, ($timeout - ((int) $timeout)) * 100000);
    $start = microtime(true);
    $s = "";
    do {
    $s .= substr(fread($con, 9999), 10);
    $info = stream_get_meta_data($con);
    if (!isset($end)) {
    $end = microtime(true);
    }
    }
    while(!$info["timed_out"]) ;


    if (empty($s)) {
    echo "<b>Domain:</b> $meinedomain <b class='status_error'> -[ Offline ]-</b>\n";
    }
    else {
    $ping = round(($end - $start) * 1000) . " ms";

    list($dummy, $dvarslist, $playerlist) = explode("\n", $s, 3);

    $dvarslist = explode("\\", $dvarslist);
    $dvars = array();
    for ($i = 1; $i < count($dvarslist); $i += 2) {
    $dvars[$dvarslist[$i]] = htmlentities(trimcolor($dvarslist[$i + 1]));
    }

    $playerlist = explode("\n", $playerlist);
    array_pop($playerlist);
    $players = array();
    foreach ($playerlist as $value) {
    list($score, $pingp, $name) = explode(" ", $value, 3);
    $players[] = array(
    "name" => htmlspecialchars(trimcolor(substr($name, 1, -1))),
    "score" => $score,
    "ping" => $pingp
    );
    }

    $dvars = array_map("htmlspecialchars", $dvars);
    $dvars["mapnamelong"] = getmap($dvars["mapname"]);
    $dvars["g_gametype"] = getgametype($dvars["g_gametype"]);
    $dvars["mod"] = getmods($dvars["fs_game"]);
    $dvars["sv_punkbuster"] = getyesno($dvars["sv_punkbuster"]);
    $dvars["pswrd"] = getyesno($dvars["pswrd"]);


    $playerlist = "";
    foreach ($players as $value) {
    $playerlist .= "<tr><td>$value[name]</td><td>$value[score]</td><td>$value[ping]</td></tr>\n";
    }

    $search[] = "{playerlist}";
    $replace[] = $playerlist;
    $search[] = "{ping}";
    $replace[] = $ping;
    $search[] = "{ip}";
    $replace[] = $ip;
    $search[] = "{port}";
    $replace[] = $port;
    $search[] = "{currentplayers}";
    $replace[] = count($players);

    foreach ($dvars as $key => $value) {
    $search[] = "{" . $key ."}";
    $replace[] = $value;
    }

    echo str_replace($search, $replace, $html);
    }
    }
    ?>
    </body>
    </html>
    [/PHP]


    nur soweit geküzt das er mir halt ohne Fehler die anzeige macht ^^

    wie gesagt ich bin kein PHP ler null ahnung.

    das ganze mache ich aus dem Grund da ich einen HomeServer betreibe, und meine Online ereichbarkeit von meinen Routereinstellungen abhängt, sprich ob auch die ports frei sind wenn ja zeigt er mir den status Online, wenn nein dann steht Offline da ^^.

    zu mehr langt es nicht :(


    mfG RaNgErID

    Einmal editiert, zuletzt von Dennis (18. März 2009 um 19:47)

  • Dieses Thema enthält 5 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind.
  1. Mitarbeiter
  2. Datenschutzerklärung
  3. Nutzungsbedingungen
  4. Impressum
  5. Kontakt
Community-Software: WoltLab Suite™