# Message Variables

## Introduction

> In your custom ANSI files, there are several message variables that can be used to provide information about the system/current session/etc. Below is a list of these variables, and what they translate to.
> All message variables can be left or right padded to a specific length, to help fit the text into a custom ANSI screen. For example, {DATE} might return "1/1/2007" or "12/31/2007". If spacing is important to your layout, the potential 2 character difference could throw things off. So you could use {DATE10} to force the date string to be 10 characters, so either "1/1/2007 " (note the 2 extra spaces on the right) or "12/31/2007" (no extra padding was required) would be returned. Similarly, you could use {10DATE} to have either " 1/1/2007" (2 extra spaces on the left) or "12/31/2007" (no padding required) returned.
> If you specify a length that is less than the actual length of the string, instead of padding the string, it will be truncated to the requested length. For example, if a user named "LOCAL:ThisIsAReallyLongUserName" was on node 3, {NODE03USERNAME20} and {20NODE03USERNAME} would both return "LOCAL:ThisIsAReallyL".

## Descriptions

1. {BBSNAME}
   - This variable will be replaced with the BBS Name you entered in the GameSrv configuration.
2. {DATE}
   - This variable will be replaced with the current date (formatted using your systems locale settings).
3. {GSDIR}
   - This variable will be replaced with the full path name that installed GameSrv to.
4. {MENUNAME}
   - This variable will be replaced with the name of the menu the user is currently at.
5. {NODE}
   - This variable will be replaced with the node number that the client is connected to.
6. {OPERATINGSYSTEM}
   - This variable will be replaced with the name and version of the operating system that your system is running on.
7. {SYSOPEMAIL}
   - This variable will be replaced with the SysOp Email Address you entered in the GameSrv configuration.
8. {TIME}
   - This variable will be replaced with the current time (formatted using your systems locale settings).
9. {TIMELEFT}
   - This variable will be replaced with the amount of time the client has left this session (in the format of HOURS:MINUTES:SECONDS).
10. {NODE##REMOTEINFO}
    - This variable will be replaced with the given nodes IP address and port (in the format of IP ADDRESS:PORT).
    - You must specify a node number in place of the ## signs, for example {NODE02REMOTEINFO} would display node 2's remote info
11. {NODE##STATUS}
    - This variable will be replaced with the given nodes current status string (the text shown in the GUI's waiting for caller screen).
    - You must specify a node number in place of the ## signs, for example {NODE02STATUS} would display node 2's status
12. {NODE##USERNAME}
    - This variable will be replaced with the given nodes user name.
    - You must specify a node number in place of the ## signs, for example {NODE02USERNAME} would display node 2's user name