Docker Settings
Alter Ego has various settings that can be configured in the file .env. All values should be enclosed with single
quotes. Remember to uncomment (i.e. remove the # before the line) for them to go into effect. This page details each
setting and what it does.
Bot settings
COMMAND_PREFIX
This is what users must begin their messages with in order to run a command. If Alter Ego detects that a message begins with this string, it will pass the message into its command handler module to determine if it was a command or not, and run it if it was.
DEBUG_MODE
This is a simple Boolean value. If this is true, Alter Ego will
start in debug mode. If this is false, it will start normally.
Other game data
PIXELS_PER_M
This is how many pixels it takes to represent 1 meter on your Map. When calculating the amount of time it takes a player to move from one room to another, Alter Ego needs to convert the distance between the two rooms from pixels to meters. In order to set this properly, find a part of your map with a standard size (for example, a basketball court must be 28 x 15 meters according to the International Basketball Federation). Divide the number of pixels making up its length by its length in meters. The result should go here.
STAMINA_USE_RATE
This is used to calculate how much stamina a player will lose every 1/10th of a second they are moving. You can change this to be higher or lower, depending on how quickly you want players to lose stamina, but it should always be a negative number.
HEATED_SLOWDOWN_RATE
This number is used to slow down time when at least one player is inflicted with the “heated” Status Effect. To accomplish this feat, the rate of time passing during player movement as well as in timed Status Effects is multiplied by this number. This allows you to narrate heated situations such as combat without worrying about how much time is passing. The lower this number, the more slowed down time will become. Players are not informed that time is being slowed, so setting this number too low can tip them off that a heated situation is ongoing.
DICE_MIN
This is an integer that indicates the lowest possible number for a standard die roll. This should usually be set to 1.
DICE_MAX
This is an integer that indicates the highest possible number for a standard die roll. The default is 6, but it can be
changed to any number higher than diceMin.
DEFAULT_DROP_OBJECT
This is the name of the Object in each room that players will drop Items on if they don’t specify one themselves. Every Room must have an Object with this name capable of holding Items.
DEFAULT_ROOM_ICON_URL
This is the URL of an image that will be inserted into
the Room MessageEmbed
when a player enters or inspects a Room if the Room does not have a unique icon URL. This must end in .jpg, .png, or
.gif. If this is left blank and the Room does not have a unique icon URL, then Alter Ego will use the server icon
instead. If the server icon is not set, then no image will be sent in the MessageEmbed.
AUTODELETE_WHISPER_CHANNELS
This is a Boolean value that determines whether or not Whisper channels will be
automatically deleted when all players have left the room. If this is true, they will be deleted. If this is false,
they will be renamed “archived-(Room name)”. Because Discord only allows a single category to
have up to 50 channels, this should be true unless you plan on manually deleting Whisper channels when you no longer
need to see them.
AUTOSAVE_INTERVAL
This is how often, in seconds, Alter Ego should update the spreadsheet with any necessary changes. The default is 30.
Bot activities
These are Discord user activities that Alter Ego will set for itself at certain times. They each have two options:
- type: This is the verb that will be used. This is
a Discord ActivityType, so valid strings are:
- PLAYING
- STREAMING
- LISTENING
- WATCHING
- COMPETING
- string: This is the name of the activity that will be used after the verb.
ONLINE_ACTIVITY_TYPE, ONLINE_ACTIVITY_STRING
This is the activity that Alter Ego will set for itself when it comes online. Its default activity will display as
Listening to Future Foundation HQ. Alter Ego will set its status to Online.
DEBUG_MODE_TYPE, DEBUG_MODE_STRING
This is the activity that Alter Ego will set for itself when it comes online in debug mode. Its default activity will
display as Playing NWP Debugger.exe. Alter Ego will set its status to Do Not Disturb.
IN_PROGRESS_TYPE, IN_PROGRESS_STRING
This is the activity that Alter Ego will set for itself when a game has begun. Its default activity will display as
Streaming Neo World Program. Alter Ego’s status will be set to Online, however if a valid URL is set, it will appear
to be streaming. The number of players online will be appended and updated periodically.
Default player data
All of the settings in this section will be uploaded to the Players sheet when the startgame timer ends. They can be changed to suit each individual player on the spreadsheet itself before all game data is loaded for the first time.
DEFAULT_PRONOUNS
This is the default pronoun string that each player will have. The
default is neutral. Once it is on the spreadsheet, it should be edited to suit each player.
DEFAULT_VOICE
This is the default original voice string that each player will
have. The default is a neutral voice. Once it is on the spreadsheet, it should be edited to suit each player.
Default Stats
These are the default stats a player will have. These should generally be changed on the spreadsheet to suit each individual player before the game is officially started. These must be a whole number between 1 and 10.
DEFAULT_STR
This is the strength stat that each player will have by default. The default is 5. For more information, read the
strength section of the Player article.
DEFAULT_INT
This is the intelligence stat that each player will have by default. The default is 5. For more information, read the
intelligence section of the Player article.
DEFAULT_DEX
This is the dexterity stat that each player will have by default. The default is 5. For more information, read the
dexterity section of the Player article.
DEFAULT_SPD
This is the speed stat that each player will have by default. The default is 5. For more information, read the
speed section of the Player article.
DEFAULT_STA
This is the stamina stat that each player will have by default. The default is 5. For more information, read the
stamina section of the Player article.
DEFAULT_LOCATION
This is the name of the Room that all players will start in at the beginning of the game.
DEFAULT_STATUS_EFFECTS
This is a comma-separated list of Status Effects that will be inflicted on all players at the beginning of the game.
DEFAULT_INVENTORY
This is an array of arrays that creates the default player
inventory on the spreadsheet. This is used to initialize the Inventory Items sheet when the startgame timer ends. If you
wish to change the default inventory that players start with, you can do so here. Note that if the # character is
found in the container identifier slot, Alter Ego will replace it with a unique number for each player.
DEFAULT_DESCRIPTION
This is the default description that will be applied to each player’s Description cell on the Players sheet when the startgame timer ends. Once it is on the spreadsheet, it should be edited to describe each player’s appearance. The item lists should also be filled out to contain the containing phrases for the default inventory, if it has been changed.
Role IDs
In general, these should not need be changed, as they are now autopopulated by Alter Ego. However, if you created your own roles instead of using a template, or if Alter Ego cannot find the correct role names, you can manually change the IDs here.
In order to copy a role ID, make sure your Discord account
has Developer Mode enabled. Mention a role by typing
@(Role name) on Discord, but place a \ before the @ symbol. When you send the message, the role will display its
ID, which is a string of numbers.
TESTER_ROLE
This should be the ID of the Tester role in single quotes.
ELIGIBLE_ROLE
This should be the ID of the Eligible role in single quotes.
PLAYER_ROLE
This should be the ID of the Player role in single quotes.
HEADMASTER_ROLE
This should be the ID of the Headmaster role in single quotes.
MODERATOR_ROLE
This should be the ID of the Moderator role in single quotes.
DEAD_ROLE
This should be the ID of the Dead role in single quotes.
SPECTATOR_ROLE
This should be the ID of the Spectator role in single quotes.
Category and channel IDs
In general, these should not need be changed, as they are now autopopulated by Alter Ego. However, if you created your own channels instead of using a template, or if Alter Ego cannot find the correct room names, you can manually change the IDs here.
In order to copy a category or channel ID, right click on it in the channel list and click Copy ID.
ROOM_CATEGORIES
NOTE: You can now use the
.createroomcategorycommand to set these, so it is very unlikely that you will need to change this.
This is a list of all room category IDs. They can be separated by commas, spaces, or anything else, but it should all be a single string.
WHISPER_CATEGORY
This should be the ID of the Whisper category in single quotes.
SPECTATE_CATEGORY
This should be the ID of the Spectator category in single quotes.
TESTING_CHANNEL
This should be the ID of the testing channel in single quotes.
GENERAL_CHANNEL
This should be the ID of the general channel in single quotes.
ANNOUNCEMENT_CHANNEL
This should be the ID of the announcements channel in single quotes.
COMMAND_CHANNEL
This should be the ID of the bot-commands channel in single quotes.
LOG_CHANNEL
This should be the ID of the bot-log channel in single quotes.