List of files found in the {prefix}/etc/crossfire configuration directory, alphabetically ordered; except for the settings file, which is to be found at the bottom due to it's many entries.
: These config files ought to have some .CFG or .CONF file_name.extension on day …
List of client IPs and user names to ban. Probably only useful if the user owns and deploys a dedicated IP.
Read also about the DM command banish .
List of NAMES : PASSWORDS : HOSTS for Dungeon Masters.
Each field accepts the wildcard (*) as single char.
*:*:*
should allow everyone from everywhere to gain DM status using any password.
The HOST field seems to be a full IPv4 address like 127.0.0.1
.
Entries that do not work :
*:*:127*
to allow anyone from IPv4 address 127.* ( localhost )*:*:127.*
*:*:127.0.0.*
*:*:127.*.*.*
*:*:local*
*:*:localhost
*:*A:*
to allow anyone from anywhere with a password that matches 'A' at the end *:A*:*
to allow anyone from anywhere with a password that matches 'A' at the start*:A*A:*
to allow anyone from anywhere with a password that matches 'A' at the start and at the endA*:*:*
to allow every user whose player name starts with an 'A' with any passwort from everywhere*A:*:*
to allow every user whose player name ends with an 'A' with any passwort from everywhereA*A:*:*
to allow every user whose player name ends with an 'A' with any passwort from everywhereNot sure, when it comes to IPv6 addresses, which are not separated by a dot but by a colon …
Large comma separated list of numbers to reach levels. The default ends at level 115. Just add some more numbers, and there will be higher levels or delete some zeros at the end of thy numbers, and become a hero very fast.
The sever has no possibility to be started with some -easy, -medium, -hard, -extreme parameters.
This is a very misleading file. It says:
# This file lets you limit playing time. Example:
Mon 8-12
msg
Playing is forbidden during working hours.
Which would suggest, that players are getting a forced log out and new connections or login requests are denied with a message msg .
But instead the server will refuse to start if started in times of these entries. Exitcode would be -1 .
In static void init_startup(void) in server/server/init.c :
if (forbid_play()) { /* Maybe showing highscore should be allowed? */ LOG(llevError, "CrossFire: Playing not allowed.\n"); exit(-1);
The function forbid_play is to be found in server/server/server.c :
int forbid_play(void) #if !defined(_IBMR2) && !defined(___IBMR2) && defined(PERM_FILE) if (!strncmp (buf, "msg", 3)) { if (forbit) while (fgets (buf, MAX_BUF, fp)) /* print message */ fputs (buf, logfile); break; } else if (sscanf (buf, "%s %d%*c%d\n", day, &start, &stop) != 3) { LOG(llevDebug, "Warning: Incomplete line in permission file ignored.\n"); continue; } for (i=0; i< 7; i++) { if (!strncmp (buf, days[i], 3) && (tm->tm_wday == i) && (tm->tm_hour >= start) && (tm->tm_hour < stop)) forbit = 1; return forbit; #else return 0; #endif
This forbid file is defined in server/include/config.h : #define PERM_FILE “forbid” .
In opposite to the arch and maps files, it does not need an endmsg entry.
This forbid file would make “slightly sense” , when playing on a local machine by a script, that launches the server and afterwards the client to auto-connect to each other (with metaserver-support disabled at compile time) . In that way, parents could hinder their children at least to start-up the server at certain times. It does not interrupt a running server.
: The server should re-read the forbid file each hour like it does for the help files or the dm_file when help or the dm commands are invoked.
Similar as for the forbid file : When the server at it's initial start finds that file in it's config folder, then it exits with an exitcode 1 , printing the content of that file .
The code for processing the shutdown file is also found in init_startup in server/server/init.c :
#ifdef SHUTDOWN_FILE sprintf(buf,"%s/%s",settings.confdir,SHUTDOWN_FILE); if ((fp = open_and_uncompress(buf, 0, &comp)) != NULL) { while (fgets(buf, MAX_BUF-1, fp) != NULL) printf("%s", buf); close_and_delete(fp, comp); exit(1); } #endif
The SHUTDOWN_FILE variable is by default defined in server/include/config.h : #ifndef SHUTDOWN_FILE #define SHUTDOWN_FILE “shutdown” .
It could probably make sense to manually disable the SHUTDOWN_FILE definition before server compiling .
Example “shutdown” file message :
Shutdown File for Crossfire 1.10.0
Farewell, and have a nice time.
Bye Bye …
Here is some kind of abuse possible, by people on a shared machine might just create such a shutdown file, to confuse, anger or trouble other users, who are playing Crossfire regularly on that machine.
Send to the client, when the client connects to the server.
Might print a lot of messages. They are easier to read, when the gtk+-1 client works in “split Windows” and-or “Splash Window” and-or “Popup Windows” modes that pop up an extra login-window.
Motto Of The Day - simple text file.
Simple text file send to players when they connect. Headline functionality.
Simple text file, that accepts some kind of html-formatting like [B]BIG[/B] .
Printed in the message window of the client, when it connects, and before the user logs on.
Large file with around 40 possible entries; now has it it's own page here on the wiki : settings .
Known setting variable names, listed in alphabetical order .
True and False entries are case insensitive read by strcasecmp
and may be replaced by their counterparts On and Off .
Function that processes those : load_settings in server/server/init.c .
if (!strcasecmp(cp,“off”) || !strcasecmp(cp,“false”))
if (!strcasecmp(cp,“on”) || !strcasecmp(cp,“true”))