I kind of suck at writing documentation, but here's my attempt at describing how the latest version of GameSrv can be installed/configured/customized.
Skip to Installation, Configuration, Customization
On Windows, installation should be pretty straightforward for Win98 and newer (Win95 not supported, sorry):
That should be it!
The previous Linux instructions were from 2011 and no longer work with modern distributions, so I've removed them to avoid confusion. I'll update this section with the next release, but if you need help installing on Linux before then, hit the Contact link above and let me know.
The main configuration for GameSrv is stored in config\gamesrv.ini. In the future I'll add additional documentation here, but for now just read the comments for each entry in that file.
The logon process (that is, the actions that occur after a user enters their username and password) is stored in config\logonprocess.ini. Again, documentation will probably be added here in the future, but for now just read the comments in the ini file.
The logoff process (that is, the actions that occur after a user execute the LogOff menu command) is stored in config\logoffprocess.ini. Again, documentation will probably be added here in the future, but for now just read the comments in the ini file.
When a new user registers, only two questions are hardcoded into the system: Alias, which acts as their username, and password, which should be self explanatory! If you want any additional information from the user, you can add questions to the new user registration process by editing the config\newuser.ini file. I know I sound like a broken record, but there's no documentation here yet, instead read the ini file and look at the sample questions it contains.
Each door you want to run should have a unique ini in the doors sub-directory. There is a sample doors\_sample.ini you can look at to see how to setup the door. As with the rest of this section, further documentation is coming soon, so just read the sample (or look at the configuration for the other bundled doors).
Each menu on your system should have a unique ini in the menus sub-directory. The menus\main.ini has information describing the structure and parameters for the ini file.
Every prompt in the system (unless I missed some) can be configured by changing a file in the ansi sub-directory. At some point I'd like to list each file, and it's purpose, but for now just go and open them all and see what they say, and change them to your liking.
GameSrv ships with two really crappy default bulletins. You'll probably want to replace them, or remove them altogether if you don't want them. As you'll see when you look in the menus\bulletins.ini, they just use the DisplayFilePause action to display a file in the bulletins sub-directory, so it's easy to add/edit/delete ones if you want.
By default, all menus will display using the built-in canned menus (that were stolen from Shotgun PRO). If you want to display something more unique, you can put .ans files in the menus sub-directory, using the same name as the .ini file. So for example to customize the MAIN menu, create a menus\main.ans file.
You can also create different menus for each access level, so for example if you have an item on the main menu that only sysops with an access level of 100 can see, then you can create a menus\main.ans that everyone will see, but also create a menus\main100.ans that only users with access level 100 will see. Similarly if you have a reduced menu that twit users should see, you could create a third menus\menu0.ans.
The ansis/bulletins/menus all support using MCI codes, which allow you to embed certain variables into the display. The currently supported codes are:
ACCESSLEVEL | The current user's numeric access level |
ALIAS | The current user's alias |
BBSNAME | Your BBS name, as defined in the config\gamesrv.ini |
DATE | The system's current date, in short format |
GSDIR | The directory GameSrv is running from |
MENUNAME | The menu the user last loaded |
NODE | The node the user signed on to |
OPERATINGSYSTEM | The system's operating system |
SYSOPEMAIL | Your email address, as defined in config\gamesrv.ini |
SYSOPNAME | Your name, as defined in config\gamesrv.ini |
TIME | The system's current time, in short format |
TIMELEFT | The current user's time left for this call, in hh:mm:ss format |
Additionally, every new user question can be accessed using the upper-case section name found in the config\newuser.ini file. So for example, a [RealName] section in the newuser.ini file can be accessed as REALNAME.
To use the codes, wrap them in { and } characters. So for example, {ALIAS} will display the user's alias
Each code also supports justification of short values. So for example, if you want to display the user's access level and always have it take up 3 spaces on screen, use {ACCESSLEVEL3} to left-align the text and pad the right side with spaces, or {3ACCESSLEVEL} to right-align it and pad the left with spaces.
When values are too long for the requested size, they'll be truncated. So for example, if you want to display the user's alias (which is 'rumpelstiltskin') and always have it take up 10 spaces on screen, use {ALIAS10} to truncate the end of the string leaving 'rumpelstil', or {10ALIAS} to truncate the beginning of the string leaving 'lstiltskin'. (Not that you'd probably ever want to truncate the alias so short, but it's just an example of how it works.)
Like something you see here? Consider donating to keep development alive!
(Please note that donations are not tax-deductible for income tax purposes.)
Thank you!