char *adminpass; // Administrator password
char *welcomemsg; // Welcome Message
char *ignoreserverslist; // Servernames to ignore
+char *nsname; // NickServ's name
+char *nspass; // GameServ's NickServ Password
+
int welcomedelay; // Welcome Message Delay
int updateperiod; // Seconds until another player database update
int forestfights; // Forest fights per day
char *remotepass; // Password for the server link
char *playerdata; // File to store player data in
+char *dragondata; // File to store current dragon data in
+char *masterdata; // File to store the master data in
char *newsdata; // File to store news data in
char *pidfile; // Process ID file
delete [] remotepass;
if (playerdata)
delete [] playerdata;
+ if (dragondata)
+ delete [] dragondata;
+ if (masterdata)
+ delete [] masterdata;
if (adminpass)
delete [] adminpass;
if (welcomemsg)
delete [] ignoreserverslist;
if (newsdata)
delete [] newsdata;
+ if (nsname)
+ delete [] nsname;
+ if (nspass)
+ delete [] nspass;
configflags = 0;
}
{
char *buf, *directive, *value;
- #define numdirectives 25
+ #define numdirectives 30
unload_config_file();
directives[24].desc = "DEFAULTEXPIRE - Amount of days until a "\
"level 2 and above player's account is "\
"deleted due to inactivity";
+ directives[25].desc = "USENICKSERV - True/False as to wether or not "\
+ "GameServ should identify with NickServ";
+ directives[26].desc = "NSNAME - Your network's NickServ nickname";
+ directives[27].desc = "NSPASS - GameServ's NickServ Password";
+ directives[28].desc = "DRAGONDATA - File to store the current "\
+ "dragon's stats in";
+ directives[29].desc = "MASTERDATA - File to store the level master stats in";
configflags = 0;
defaultexpire = stringtoint(value);
directives[24].done = true;
}
+ else if (stricmp(directive, "USENICKSERV") == 0)
+ {
+ value = strtok(NULL, " ");
+ if (stricmp(value, "TRUE") == 0)
+ {
+ setUseNickServ();
+ }
+
+ directives[25].done = true;
+ }
+ else if (stricmp(directive, "NSNAME") == 0)
+ {
+ value = strtok(NULL, "");
+ nsname = new char[strlen(value) + 1];
+ strcpy(nsname, value);
+ directives[26].done = true;
+ }
+ else if (stricmp(directive, "NSPASS") == 0)
+ {
+ value = strtok(NULL, "");
+ nspass = new char[strlen(value) + 1];
+ strcpy(nspass, value);
+ directives[27].done = true;
+ }
+ else if (stricmp(directive, "DRAGONDATA") == 0)
+ {
+ value = strtok(NULL, "");
+ dragondata = new char[strlen(value) + 1];
+ strcpy(dragondata, value);
+ directives[28].done = true;
+ }
+ else if (stricmp(directive, "MASTERDATA") == 0)
+ {
+ value = strtok(NULL, "");
+ masterdata = new char[strlen(value) + 1];
+ strcpy(masterdata, value);
+ directives[29].done = true;
+ }
else if (stricmp(directive, "WELCOMEMSG") == 0)
{
// This directive is optional