@Ashen-Shugar asked me to supply a similar list for Evennia. Note that all of these commands could also be prepended with @, + etc if desired.
who -- (as admin) Find the IP of a account. Note that one account can be connected to from multiple IPs depending on what you allow in your settings.
examine/account thomas -- Get all details about an account. Can also use *thomas
to get the account. If not given, you will get the Object thomas if it exists in the same location, which is not what you want in this case.
boot thomas -- Boot all sessions of the given account name.
boot 23 -- Boot one specific client session/IP by its unique id.
ban -- List all bans.
+----+---------------+--------------------------+--------+
| id | name/ip | date | reason |
+~~~~+~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~~~~~~~~~+~~~~~~~~+
| 1 | 134.233.2.111 | Thu Dec 7 19:13:13 2017 | Spam |
+----+---------------+--------------------------+--------+
ban thomas -- Ban the user with the given account name
ban/ip 134.233.2.111
-- Ban by IP
ban/ip 134.233.2.*
-- Widen IP ban
ban/ip 134.233.*.*
-- Even wider IP ban
unban 34 -- Remove ban with id #34
cboot mychannel = thomas -- Boot a subscriber from a channel you control
clock mychannel = control:perm(Admin);listen:all();send:all() -- Fine control of access to your channel using lock definitions.
Locking a specific command (like page
) is accomplished like so:
- Examine the source of the command. The default
page
command class has the lock string "cmd:not pperm(page_banned)". This means that unless the player has the 'permission' "page_banned" they can use this command. You can assign any lock string to allow finer customization in your commands. You might look for the value of an Attribute or Tag, your current location etc.
- perm/account thomas = page_banned -- Give the account the 'permission' which causes (in this case) the lock to fail.
perm/del/account thomas = page_banned -- Remove the given permission
tel thomas = jail -- Teleport a player to a specified location or #dbref
type thomas = FlowerPot -- Turn an annoying player into a flower pot (assuming you have a FlowerPot
typeclass ready)
userpassword thomas = fooBarFoo -- Change a user's password
delaccount thomas -- Delete a player account (not recommended, use ban instead)
server -- Show server statistics, such as CPU load, memory usage and how many objects are cached
time -- Gives server uptime, runtime etc
reload -- Reloads the server without disconnecting anyone
reset -- Restarts the server, kicking all connections
shutdown -- Stops the server cold without it auto-starting again
py -- Executes raw Python code, allows for direct inspection of the database and account objects on the fly. For advanced users.
Below are server setttings that may be of use. These are changed in mygame/server/conf/settings.py
and require a server reload
.
LOCKDOWN_MODE = True -- This will turn the server into isolation mode, disabling all external connections. Useful if you need to run it to debug/test some security issue before letting others on.
MAX_CONNECTION_RATE -- Limit how many connection attempts per second the portal should accept before starting to drop connections. This is a global value, for all IPs.
MAX_COMMAND_RATE -- How many commands per second a Session may send. Note that this also includes Out-Of-Band messages between client<->server, so should not be set too low for games using OOB.
MAX_CHAR_LIMIT -- Limit how many characters can be sent in one command.
IN_GAME_ERRORS -- This will show tracebacks in the game when they happen rather than just log them and give a generic error message to the player. While very useful for development, this could be considered a vulnerability since it reveals a lot about the underlying code to the player.
GUEST_ENABLED -- Turn on/off guest access.
PERMISSION_GUEST_DEFAULT -- Which permission levels given to new guests.
GUEST_HOME -- Change guests' home location.
GUEST_START_LOCATION -- Change where guests start when logging in.
DEBUG -- This mode will show full tracebacks in the browser on HTTP errors etc. Don't use this in production, it's leaking memory like crazy (by design it stores everything).