Hi, I used GetPublicIP from SteamWorks like below:
PHP Code:
#define DEBUG
#define PLUGIN_NAME "TF2 Pro Stats"
#define PLUGIN_AUTHOR "Szkalownik"
#define PLUGIN_DESCRIPTION ""
#define PLUGIN_VERSION "1.0"
#define PLUGIN_URL ""
#pragma semicolon 1
#include <sourcemod>
#include <sdktools>
#include <SteamWorks>
char dbconfig[] = "tf2_pro_stats";
Database databaseHandler;
enum struct ServerData {
int id[11];
char ip[64];
char port[16];
}
ServerData serverData;
public Plugin:myinfo =
{
name = PLUGIN_NAME,
author = PLUGIN_AUTHOR,
description = PLUGIN_DESCRIPTION,
version = PLUGIN_VERSION,
url = PLUGIN_URL
};
public OnPluginStart()
{
setServer();
}
public void setServer()
{
char serverIp[64];
char serverPort[10];
int ipaddr[4];
SteamWorks_GetPublicIP(ipaddr);
Format(serverIp, sizeof(serverIp), "%d.%d.%d.%d",ipaddr[0], ipaddr[1], ipaddr[2], ipaddr[3]);
strcopy(serverData.ip, sizeof(serverData.ip), serverIp);
GetConVarString(FindConVar("hostport"), serverPort, sizeof(serverPort));
strcopy(serverData.port, sizeof(serverData.port), serverPort);
}
But SteamWorks_GetPublicIP return 0.0.0.0 as my server ip after restart.
So question is where is the best place/event etc to put SteamWorks_GetPublicIP ? Looks like OnPluginStart is not a good place .
__________________