Sie sind nicht angemeldet.

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