Document config files

This commit is contained in:
Hri7566 2024-07-23 05:54:36 -04:00
parent c7bad077fc
commit 7e05fed0b8
4 changed files with 83 additions and 16 deletions

23
config/channels.yml Normal file → Executable file
View File

@ -1,6 +1,9 @@
# Which channels to load on startup.
forceLoad: forceLoad:
- lobby - lobby
- test/awkward - test/awkward
# Default channel settings for lobby channels.
lobbySettings: lobbySettings:
lobby: true lobby: true
chat: true chat: true
@ -8,20 +11,40 @@ lobbySettings:
visible: true visible: true
color: "#73b3cc" color: "#73b3cc"
color2: "#273546" color2: "#273546"
# Default channel settings for normal user-created channels.
# Note that this allows for channel settings users can't set, like visible and lobby.
defaultSettings: defaultSettings:
chat: true chat: true
crownsolo: false crownsolo: false
color: "#3b5054" color: "#3b5054"
color2: "#001014" color2: "#001014"
visible: true visible: true
# Regex patterns for lobby channel names.
# Any channel name that matches any of these patterns will be considered a lobby channel on instantiation.
lobbyRegexes: lobbyRegexes:
- ^lobby[0-9][0-9]$ - ^lobby[0-9][0-9]$
- ^lobby[0-9]$ - ^lobby[0-9]$
- ^lobby$ - ^lobby$
- ^lobbyNaN$ - ^lobbyNaN$
- ^test/.+$ - ^test/.+$
# The channel to use for the lobby backdoor.
lobbyBackdoor: lolwutsecretlobbybackdoor lobbyBackdoor: lolwutsecretlobbybackdoor
# The channel that users get sent to when they are banned from a channel/join a channel they are already banned in/join a channel that is full and not a regular lobby.
# This will not be used for real lobby channels. (channels that start with "lobby" and may have numbers on the end)
fullChannel: test/awkward fullChannel: test/awkward
# Whether or not to publish channel user limits in the channel list.
sendLimit: false sendLimit: false
# Whether or not to send tags to users.
# TODO This likely doesn't belong here
sendTags: false sendTags: false
# Whether to give a user the crown when they join a channel they were already the owner of when they left.
# Reportedly, this is a feature on the original server, but it's not working there.
# This is corrected in MPP.net's server.
chownOnRejoin: true chownOnRejoin: true

9
config/notifications.yml Normal file → Executable file
View File

@ -1,4 +1,13 @@
# Whether to allow HTML in notifications.
# This is a security risk, so only enable this if you trust your admins.
allowXSS: true allowXSS: true
# The maximum duration of a notification in milliseconds.
maxDuration: 60000 maxDuration: 60000
# The default duration of a notification in milliseconds, if not specified.
defaultDuration: 7000 defaultDuration: 7000
# The target used to send notifications to every socket on the server.
# This is not used for the "target" parameter, instead this is for "targetChannel"/"targetUser".
allTarget: all allTarget: all

48
config/ratelimits.yml Normal file → Executable file
View File

@ -1,28 +1,42 @@
# Difference between rate limits and rate limit chains:
# Rate limits will not allow anything to be sent until the rate limit interval has passed.
# Rate limit chains, on the other hand, will allow messages to be sent until the rate limit chain's limit has been reached.
# This is useful for rate limiting messages that are sent in rapid succession, like note messages.
# This is also the basis for note quota, however that is handled in a separate way due to the way it is implemented.
# Rate limits for normal users.
user: user:
# Rate limits
normal: normal:
a: 1500 a: 1500 # Chat messages
m: 50 m: 50 # Cursor messages
ch: 1000 ch: 1000 # Channel join messages
kickban: 125 kickban: 125 # Kickban messages
unban: 125 unban: 125 # Unban messages
t: 7.8125 t: 7.8125 # Ping messages
+ls: 16.666666666666668 +ls: 16.666666666666668 # Channel list subscription messages
-ls: 16.666666666666668 -ls: 16.666666666666668 # Channel list unsubscription messages
chown: 2000 chown: 2000 # Channel ownership messages
hi: 50 hi: 50 # Handshake messages
bye: 50 bye: 50 # Disconnection messages
devices: 50 devices: 50 # MIDI device messages
admin message: 50 admin message: 50 # Admin passthrough messages
# Rate limit chains
chains: chains:
userset: userset: # Username/color update messages
interval: 1800000 interval: 1800000
num: 1000 num: 1000
chset: chset: # Channel settings messages
interval: 1800000 interval: 1800000
num: 1024 num: 1024
n: n: # Note messages
# TODO is this correct?
interval: 1000 interval: 1000
num: 512 num: 512
# The other rate limits are like the above messages, but for other types of users.
# Rate limits for users with a crown.
crown: crown:
normal: normal:
a: 600 a: 600
@ -48,6 +62,8 @@ crown:
n: n:
interval: 1000 interval: 1000
num: 512 num: 512
# Rate limits for admins.
admin: admin:
normal: normal:
a: 120 a: 120

19
config/users.yml Normal file → Executable file
View File

@ -1,11 +1,30 @@
# The default username for new users.
defaultName: Anonymous defaultName: Anonymous
# The default user flags for new users.
defaultFlags: defaultFlags:
volume: 100 volume: 100
# Whether or not to allow users to change their color.
# Brandon's server has this set to false, but multiple users have reported it to be on before 2016.
enableColorChanging: false enableColorChanging: false
# Allows custom data inside note messages.
# This was in the original server, but not in MPP.net's server.
# This only exists for backwards compatibility with scripts like nagalun's drarwing script.
enableCustomNoteData: true enableCustomNoteData: true
# This is the user data that the server will use to send admin chat messages with.
adminParticipant: adminParticipant:
_id: "0" _id: "0"
name: mpp name: mpp
color: "#fff" color: "#fff"
id: "0" id: "0"
# Allows admins to evaluate code through the "eval" message.
# This is a security risk, so only enable this if you trust your admins.
enableAdminEval: false enableAdminEval: false
# The token validation scheme. Valid values are "none", "jwt" and "local".
# This server will still validate existing tokens generated with other schemes if not set to "none".
tokenAuth: none