ne, er testet jedes mal, wenn ein Spieler Online kommt, ob die verbindung noch da ist:
OnPlayerConnect
MySQLCheck();
MySQLCheck()
stock MySQLCheck()
{
if(mysql_ping()==0)
{
return 1;
}
else
{
print("MySQL: Verbindung abgebrochen, neuer Versuch...");
mysql_close();
MySQLConnect();
if(mysql_ping()==0)
{
print("MySQL: Verbindung zur Datenbank hergestellt.");
return 1;
}
else
{
print("MySQL: Verbindung zur Datenbank konnte nicht hergestellt werden.");
print("MySQL: Server wird beendet.");
SendRconCommand("exit");
return 0;
}
}
}
MySQLConnect()
stock MySQLConnect()
{
new arrCoords[19][64], strFromFile2[256], host[32], user[32], pass[32], db[32];
new File: file = fopen("config/mysql.cfg", io_read);
if (file)
{
fread(file, strFromFile2);
spliter(strFromFile2, arrCoords, '|');
strmid(host, arrCoords[0], 0, strlen(arrCoords[0]), 255);
strmid(user, arrCoords[1], 0, strlen(arrCoords[1]), 255);
strmid(pass, arrCoords[2], 0, strlen(arrCoords[2]), 255);
strmid(db, arrCoords[3], 0, strlen(arrCoords[3]), 255);
fclose(file);
}
else
{
print("Datei 'scriptfiles/config/mysql.cfg' wurde nicht gefunden.");
print("Server wird beendet.");
SendRconCommand("exit");
return 0;
}
print("---------------MYSQL-Connection----------------");
print("MySQL: Verbindung zur Datenbank wird hergestellt...");
new MySQL:connection = mysql_init();
mysql_connect(host, user, pass, db, connection);
if(mysql_ping()==0)
{
print("MySQL: Verbindung zur Datenbank hergestellt.");
print("-----------------------------------------------");
print(" ");
return 1;
}
else
{
print("MySQL: Verbindungsproblem, neuer Versuch...");
mysql_connect(host, user, pass, db, connection);
if(mysql_ping()==0)
{
print("MySQL: Verbindung zur Datenbank hergestellt.");
return 1;
}
else
{
print("MySQL: Verbindung zur Datenbank konnte nicht hergestellt werden.");
print("MySQL: Server wird beendet.");
SendRconCommand("exit");
return 0;
}
}
}
edit: das funktioniert so ja richtig, aber halt nach einer zeitlang irgendwie dann nicht mehr, dann stürzt der server ab.. oder muss ich irgendwie einen timer einbauen, der jede 10 minuten die verbindung prüft?