X-Git-Url: https://jfr.im/git/irc/gameservirc.git/blobdiff_plain/18b84d1132e34a601da7f44542b40c27fdd8c7dd..082f064da8876b7fd2a9db8e332945c2e494926e:/gameserv/config.cpp diff --git a/gameserv/config.cpp b/gameserv/config.cpp index 7adfa56..cc04311 100644 --- a/gameserv/config.cpp +++ b/gameserv/config.cpp @@ -30,6 +30,9 @@ int maxafightdistance; // Max levels above a player they can fight player->play int maxbfightdistance; // Max levels below a player they can fight player->player int maxidletime; // Max time (in seconds) a player can be idle for int idlecheckperiod; // Period for checking every player's idle time +int level1expire; // Days for level 1 players to expire +int defaultexpire; // Days for other levels to expire +long refreshperiod; // Period for refreshing players long configflags; // Holds the bit representation of some boolean values // Remote server stuff. This is used for the outgoing connection gameserv needs to make @@ -40,6 +43,7 @@ char *remotepass; // Password for the server link char *playerdata; // File to store player data in char *monsterdata; // File to load monster data from +char *newsdata; // File to store news data in char *pidfile; // Process ID file #if defined(P10) @@ -78,6 +82,8 @@ void unload_config_file() delete [] pidfile; if (ignoreserverslist) delete [] ignoreserverslist; + if (newsdata) + delete [] newsdata; configflags = 0; } @@ -86,7 +92,7 @@ int load_config_file(char *config) { char *buf, *directive, *value; - #define numdirectives 21 + #define numdirectives 25 unload_config_file(); @@ -125,6 +131,15 @@ int load_config_file(char *config) directives[20].desc = "LISTENONC_FOREST - True/False as to "\ "whether or not to listen for forest "\ "commands on the forest channel"; + directives[21].desc = "NEWSDATA - File to store daily news in"; + directives[22].desc = "REFRESHPERIOD - Period (in seconds) to "\ + "refresh players"; + directives[23].desc = "LEVEL1EXPIRE - Amount of days until a "\ + "level 1 player's account is deleted due to "\ + "inactivity."; + directives[24].desc = "DEFAULTEXPIRE - Amount of days until a "\ + "level 2 and above player's account is "\ + "deleted due to inactivity"; configflags = 0; @@ -305,6 +320,31 @@ int load_config_file(char *config) directives[20].done = true; } + else if (stricmp(directive, "NEWSDATA") == 0) + { + value = strtok(NULL, " "); + newsdata = new char [strlen(value) + 1]; + strcpy(newsdata, value); + directives[21].done = true; + } + else if (stricmp(directive, "REFRESHPERIOD") == 0) + { + value = strtok(NULL, " "); + refreshperiod = stringtoint(value); + directives[22].done = true; + } + else if (stricmp(directive, "LEVEL1EXPIRE") == 0) + { + value = strtok(NULL, " "); + level1expire = stringtoint(value); + directives[23].done = true; + } + else if (stricmp(directive, "DEFAULTEXPIRE") == 0) + { + value = strtok(NULL, " "); + defaultexpire = stringtoint(value); + directives[24].done = true; + } else if (stricmp(directive, "WELCOMEMSG") == 0) { // This directive is optional