mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-27 22:52:41 +00:00
Allow multiple ports to host under one IP address.
This commit is contained in:
parent
5f85c72279
commit
66929c3c62
1 changed files with 8 additions and 8 deletions
|
@ -291,17 +291,17 @@ void MySQL_AddServer(const char *ip, const char *port, const char *name, const c
|
||||||
char checkquery[500];
|
char checkquery[500];
|
||||||
char updatequery[5000];
|
char updatequery[5000];
|
||||||
char queryp1[5000] = "INSERT INTO `ms_servers` (`name`,`ip`,`port`,`version`,`timestamp`,`room`,`key`) VALUES ('%s','%s','%s','%s','%ld','%d','%s')";
|
char queryp1[5000] = "INSERT INTO `ms_servers` (`name`,`ip`,`port`,`version`,`timestamp`,`room`,`key`) VALUES ('%s','%s','%s','%s','%ld','%d','%s')";
|
||||||
char checkqueryp1[500] = "SELECT room_override FROM `ms_servers` WHERE `ip` = '%s'";
|
char checkqueryp1[500] = "SELECT room_override FROM `ms_servers` WHERE `ip` = '%s' AND `port` = '%s'";
|
||||||
char updatequeryp1[5000];
|
char updatequeryp1[5000];
|
||||||
if(firstadd)
|
if(firstadd)
|
||||||
{
|
{
|
||||||
logPrintf(logfile, "First add.\n");
|
logPrintf(logfile, "First add.\n");
|
||||||
strcpy(updatequeryp1, "UPDATE `ms_servers` SET `name` = '%s', `port` = '%s', `version` = '%s', timestamp = '%ld', upnow = '1', `room` = '%d', `delisted` = '0', `key` = '%s' WHERE `ip` = '%s'");
|
strcpy(updatequeryp1, "UPDATE `ms_servers` SET `name` = '%s', `port` = '%s', `version` = '%s', timestamp = '%ld', upnow = '1', `room` = '%d', `delisted` = '0', `key` = '%s' WHERE `ip` = '%s' AND `port` = '%s'");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
logPrintf(logfile, "Update ping.\n");
|
logPrintf(logfile, "Update ping.\n");
|
||||||
strcpy(updatequeryp1, "UPDATE `ms_servers` SET `name` = '%s', `port` = '%s', `version` = '%s', timestamp = '%ld', upnow = '1', `room` = '%d', `key` = '%s' WHERE `ip` = '%s' AND `delisted` = '0'");
|
strcpy(updatequeryp1, "UPDATE `ms_servers` SET `name` = '%s', `port` = '%s', `version` = '%s', timestamp = '%ld', upnow = '1', `room` = '%d', `key` = '%s' WHERE `ip` = '%s' AND `port` = '%s' AND `delisted` = '0'");
|
||||||
}
|
}
|
||||||
MySQL_Conn(false);
|
MySQL_Conn(false);
|
||||||
mysql_real_escape_string(conn, escapedName, name, (unsigned long)strlen(name));
|
mysql_real_escape_string(conn, escapedName, name, (unsigned long)strlen(name));
|
||||||
|
@ -314,10 +314,10 @@ void MySQL_AddServer(const char *ip, const char *port, const char *name, const c
|
||||||
logPrintf(errorfile, "IP %s tried to use the private room %d! THIS SHOULD NOT HAPPEN\n", ip, room);
|
logPrintf(errorfile, "IP %s tried to use the private room %d! THIS SHOULD NOT HAPPEN\n", ip, room);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
sprintf(checkquery, checkqueryp1, ip);
|
sprintf(checkquery, checkqueryp1, ip, port);
|
||||||
time_t timestamp;
|
time_t timestamp;
|
||||||
timestamp = time (NULL);
|
timestamp = time (NULL);
|
||||||
logPrintf(logfile, "Checking for existing servers in table with the same IP...\n");
|
logPrintf(logfile, "Checking for existing servers in table with the same IP and port...\n");
|
||||||
logPrintf(mysqlfile, "Executing MySQL Query: %s\n", checkquery);
|
logPrintf(mysqlfile, "Executing MySQL Query: %s\n", checkquery);
|
||||||
if(mysql_query(conn, checkquery)) {
|
if(mysql_query(conn, checkquery)) {
|
||||||
logPrintf(errorfile, "MYSQL ERROR: %s\n", mysql_error(conn));
|
logPrintf(errorfile, "MYSQL ERROR: %s\n", mysql_error(conn));
|
||||||
|
@ -343,7 +343,7 @@ void MySQL_AddServer(const char *ip, const char *port, const char *name, const c
|
||||||
mysql_free_result(res);
|
mysql_free_result(res);
|
||||||
logPrintf(logfile, "Server's IP already exists, so let's just update it instead...\n");
|
logPrintf(logfile, "Server's IP already exists, so let's just update it instead...\n");
|
||||||
logPrintf(logfile, "Updating Server Data for %s\n", ip);
|
logPrintf(logfile, "Updating Server Data for %s\n", ip);
|
||||||
sprintf(updatequery, updatequeryp1, escapedName, escapedPort, escapedVersion, timestamp, room, escapedKey, ip);
|
sprintf(updatequery, updatequeryp1, escapedName, escapedPort, escapedVersion, timestamp, room, escapedKey, ip, port);
|
||||||
logPrintf(mysqlfile, "Executing MySQL Query: %s\n", updatequery);
|
logPrintf(mysqlfile, "Executing MySQL Query: %s\n", updatequery);
|
||||||
if(mysql_query(conn, updatequery)) {
|
if(mysql_query(conn, updatequery)) {
|
||||||
logPrintf(errorfile, "MYSQL ERROR: %s\n", mysql_error(conn));
|
logPrintf(errorfile, "MYSQL ERROR: %s\n", mysql_error(conn));
|
||||||
|
@ -619,10 +619,10 @@ void MySQL_ListServServers(UINT32 id, UINT32 type, const char *ip) {
|
||||||
void MySQL_RemoveServer(char *ip, char *port, char *name, char *version) {
|
void MySQL_RemoveServer(char *ip, char *port, char *name, char *version) {
|
||||||
char escapedName[255];
|
char escapedName[255];
|
||||||
char updatequery[5000];
|
char updatequery[5000];
|
||||||
char updatequeryp1[5000] = "UPDATE `ms_servers` SET upnow = '0' WHERE `ip` = '%s' AND `permanent` = '0'";
|
char updatequeryp1[5000] = "UPDATE `ms_servers` SET upnow = '0' WHERE `ip` = '%s' AND `port` = '%s' AND `permanent` = '0'";
|
||||||
MySQL_Conn(false);
|
MySQL_Conn(false);
|
||||||
mysql_real_escape_string(conn, escapedName, name, (unsigned long)strlen(name));
|
mysql_real_escape_string(conn, escapedName, name, (unsigned long)strlen(name));
|
||||||
sprintf(updatequery, updatequeryp1, ip);
|
sprintf(updatequery, updatequeryp1, ip, port);
|
||||||
logPrintf(mysqlfile, "Executing MySQL Query: %s\n", updatequery);
|
logPrintf(mysqlfile, "Executing MySQL Query: %s\n", updatequery);
|
||||||
if(mysql_query(conn, updatequery)) {
|
if(mysql_query(conn, updatequery)) {
|
||||||
logPrintf(errorfile, "MYSQL ERROR: %s\n", mysql_error(conn));
|
logPrintf(errorfile, "MYSQL ERROR: %s\n", mysql_error(conn));
|
||||||
|
|
Loading…
Reference in a new issue