Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: sourceserver.info. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

Montag, 29. April 2013, 21:07

Hostip zu *.*.*.* format ändern

Einige kennen vielleicht hostip und wundern sich was für ein Wert da hintersteckt nun es ist die Server IP Addresse.
Nun wie machen wir das ganze wieder Lesbar mit dem kleinen Schnipsel hier:

PS: Der ist nicht von mir fand ihn aber zufälligerweise.

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
    new String:NetIP[64];
    new pieces[4];
    new longip GetConVarInt(FindConVar("hostip"));

    pieces[0] = (longip >> 24) & 0x000000FF;
    pieces[1] = (longip >> 16) & 0x000000FF;
    pieces[2] = (longip >> 8) & 0x000000FF;
    pieces[3] = longip 0x000000FF;
    Format(NetIPsizeof(NetIP), "%d.%d.%d.%d"pieces[0], pieces[1], pieces[2], pieces[3]);
    PrintToServer("Host IP ist: %s",NetIP); // Wichtig das es ein %s und kein %d da es als ein String umgewandelt wird.

MadMakz

Super Moderator

Beiträge: 1 878

Wohnort: ~#

Rootserver vorhanden: Ja

  • Nachricht senden

2

Montag, 29. April 2013, 21:23

https://forums.alliedmods.net/showpost.p…849&postcount=6
Alternativ: SteamTools Steam_GetPublicIP()

TeC

Anfänger

Beiträge: 45

Rootserver vorhanden: Ja

  • Nachricht senden

3

Montag, 29. April 2013, 21:48

Alternativ:

IP im Format: xxx.xxx.xxx.xxx

PHP-Quelltext

1
GetConVarString(FindConVar("ip"), YOUR_STRINGsizeof(YOUR_STRING));

Impact

Super Moderator

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

4

Montag, 29. April 2013, 22:03

@TE
Code wie dieser hier:

Quellcode

1
GetConVarInt(FindConVar("hostip"));

Sollte möglichst vermieden werden, oder aber das Handle sollte statisch für den nächsten Aufruf gecached werden.
Zudem genügt eine Größe von 15-16 Chars für eine IP.

@Tec
Auch du solltest das obere vermeiden, zudem muss die Cvar ip nicht immer gesetzt sein.

MfG
Impact

TeC

Anfänger

Beiträge: 45

Rootserver vorhanden: Ja

  • Nachricht senden

5

Montag, 29. April 2013, 22:13

Mein Posting stellt auch nur eine Möglichkeit dar, die IP zu beziehen. Sinnvollerweise sollte man das z.B. bei OnConfigsExecuted() machen und in einen globalen String schreiben, wenn man die IP später noch benötigt.

Ähnliche Themen