worldwideportal-server/docs/example.toml

63 lines
3.0 KiB
TOML

# The port to listen on. Typically 443 if you want https,
# otherwise 80. However, you can use another port and include it
# in the URL.
# Cannot be changed without a complete restart.
listen_port = 443
# :: to accept from anywhere, or select a particular IP to listen on.
# Cannot be changed without a complete restart.
bind_address = "::"
# Where to find the static worldwideportal frontend to serve up. This
# default value works in the Docker/podman container.
# Updated on SIGHUP.
static_root = "/frontendstatic"
# This entire section is optional. Leave it off if you want the server
# to speak HTTP and not HTTPS (e.g. because you are going to proxy it).
# Be aware most browsers don't support ws:// URLs for anything except
# localhost.
# Consider getting a certificate for free from LetsEncrypt.
# This whole section is updated on SIGHUP, except that it is not possible
# to change from HTTP to HTTPS or vice versa, only to update the key / cert.
# Sending a SIGHUP after each time the certificate is rotated by certbot is
# highly recommended, to ensure an expired certificate is not served up.
[tls]
private_key_file = "/etc/letsencrypt/live/blastmud.org/privkey.pem"
certificate_chain_file = "/etc/letsencrypt/live/blastmud.org/fullchain.pem"
# An arbitrary number of muds are allowed. Each one runs on a different host
# name as a virtual host (but with the same binding address and certificate).
[[muds]]
# The Host (including port number if not 80/443) to match.
# Note that you currently can't send a different certificate for different
# MUDs - if you have more than one, either use a wildcard certificate, or
# use one certificate with subject alt names (SANs) for all relevant hosts.
hostname = "wstest.blastmud.org"
# The username and port for where to connect over telnet for your MUD.
upstream_mud = "localhost:4000"
# The text to send to the MUD when you first connect. Two special symbols
# are supported: %i is substituted for the client's IP address. %n is
# substituted for \r\n. Note that no newlines are sent unless you explicitly
# say they should be sent with %n.
# Consider implementing a command in your MUD to accept this banner and update
# the user's IP - but be careful not to accept it from users connected directly
# over telnet, or more than once (there is nothing stopping users from sending
# further text identical to the banner a second time if they want to). The
# banner is guaranteed to send before any user-supplied input.
banner_to_mud = ""
# The path to a Lua script file to send to the client to execute.
startup_script_file = "localdata/startup.lua"
# Only browsers coming from an allowed Origin will be allowed to connect.
# This stops random web pages that a user is browsing from logging in to your
# MUD from the web user's IP.
# You should at a minimum allowlist the host users will use to connect to your
# MUD (hostname above) if you want them to be able to play through this
# worldwideportal frontend.
allowed_origins = [
"https://*.blastmud.org:*", "https://*.blastmud.org", "http://localhost:*"
]
# Repeat the section to add more MUDs...
# [[muds]]