120 lines
4.7 KiB
TOML
120 lines
4.7 KiB
TOML
[HTTP]
|
|
# The host for the HTTP server to bind to.
|
|
# If you're reverse proxying behind nginx, this should probably be 127.0.0.1
|
|
# otherwise, 0.0.0.0 will open it to the internet.
|
|
Host = "0.0.0.0"
|
|
# Port for the HTTP server to listen on
|
|
Port = 6004
|
|
# Set to true if you will be proxying your VMs behing a reverse proxy, like NGINX.
|
|
# This is required for UserVMs.
|
|
ReverseProxy = false
|
|
# IPs allowed to reverse proxy your VMs. 99% of the time, this will just be 127.0.0.1
|
|
ProxyAllowedIPs = ["127.0.0.1"]
|
|
# Set to true to whitelist certain webapps from connecting to your VMs.
|
|
OriginCheck = false
|
|
# List of domains allowed to host webapps that connect to your VMs.
|
|
AllowedOrigins = ["https://computernewb.com", "http://localhost:3000"]
|
|
|
|
[Turns]
|
|
# How long each turn is
|
|
TurnTime = 20
|
|
|
|
[Votes]
|
|
# How long a vote to reset lasts
|
|
VoteTime = 30
|
|
# The amount of time before another vote to reset can be started
|
|
VoteCooldown = 120
|
|
|
|
[Chat]
|
|
# Maximum length for chat messages. Messages above this length will be truncated
|
|
MaxMessageLength = 100
|
|
# The max amount of messages to store in the chat history and send to new clients, before old messages are deleted
|
|
ChatHistoryLength = 10
|
|
|
|
[Staff]
|
|
# Password hashes can be generated with the following command:
|
|
# echo -n '<password>' | sha256sum -
|
|
# SHA256 Hash of the Admin password. (Default: hunter2)
|
|
AdminPasswordHash = "f52fbd32b2b3b86ff88ef6c490628285f482af15ddcb29541f94bcf526a3f6c7"
|
|
# If the moderator role is enabled
|
|
ModeratorEnabled = true
|
|
# SHA256 Hash of the Mod password. (Default: hunter3)
|
|
ModPasswordHash = "fb8c2e2b85ca81eb4350199faddd983cb26af3064614e737ea9f479621cfa57a"
|
|
|
|
[Bans]
|
|
# If set to true, the server will store, track, and enforce bans in the mysql database.
|
|
# Requires mysql to be defined
|
|
UseInternalBlacklist = true
|
|
# If set, the server will run this command whenever a user is banned
|
|
# $IP - The IP of the banned user
|
|
# $NAME - Username of the banned user
|
|
# $REASON - Optional ban reason
|
|
#RunCommand = ""
|
|
|
|
[Limits]
|
|
# How long temporary mutes last
|
|
TempMuteTime = 30
|
|
# How many messages may be sent within the specified period of time before the user is temporarily muted
|
|
ChatLimit = { Enabled = true, Limit = 5, Cooldown = 5 }
|
|
# How many mouse and keyboard instructions may be sent within the specified period of time before the user is disconnected ("kit protection")
|
|
KitLimit = { Enabled = true, Limit = 700, Cooldown = 1 }
|
|
|
|
# Defines a MySQL server to connect to.
|
|
# This is only required if you are using the internal banlist, and may be commented otherwise
|
|
[MySQL]
|
|
Host = "127.0.0.1"
|
|
Username = "collabvm"
|
|
Password = "hunter2"
|
|
Database = "collabvm"
|
|
|
|
# Defines permissions moderators have. May be commented if moderators are not enabled
|
|
[ModPermissions]
|
|
# Restore the VM to snapshot
|
|
Restore = true
|
|
# Reboot the VM
|
|
Reboot = true
|
|
# Ban a user
|
|
Ban = true
|
|
# Forcibly end a vote-for-reset
|
|
ForceVote = true
|
|
# Mute a user
|
|
Mute = true
|
|
# Kick a user
|
|
Kick = true
|
|
# Manipulate the turn queue (toggle turns, end turns, steal turn, clear turn queue)
|
|
BypassTurn = true
|
|
# Rename a user
|
|
Rename = true
|
|
# Get a user's IP
|
|
GrabIP = true
|
|
# Send an XSS (not HTML sanitized) message
|
|
XSS = true
|
|
# Hide the screen from all non-staff
|
|
HideScreen = true
|
|
|
|
# The following section defines a VM. This section may be duplicated for any additional VMs.
|
|
[[VMs]]
|
|
# Node ID of the VM. Must be unique
|
|
ID = "examplevm"
|
|
# DIsplay name for the VM. Formatted with HTML
|
|
Name = "Test VM"
|
|
# Message of the day, sent when a user joins the VM
|
|
MOTD = "Welcome"
|
|
# Now you may configure a VM controller by uncommenting one of the below...
|
|
|
|
# For a VM that simply connects to a VNC server,
|
|
#VNC = {Host = "127.0.0.1", Port = 5901}
|
|
|
|
# A QEMU VM.
|
|
# QEMUCmd - QEMU start command. The pash to the QEMU executable MUST be specified in full.
|
|
# UseUnixSockets - Use UNIX domain sockets. Only available on Linux. Strongly recommended if available.
|
|
# QMPSocketDir - Path where the QMP socket is stored. Defaults to /tmp if not specified. 99% of the time you do not need to specify this
|
|
# QMPPort - If UseUnixSockets is disabled, a port for the QMP server to listen on. Required on windows
|
|
# VNCPort - Port to use for the VNC server. Must be at least 5900 and must be unique among other VMs.
|
|
# Snapshots - True if the VM state is temporary, and may be reset through a vote. If you set this to false on a public VM, prepare for it to get trashed quick.
|
|
QEMU = {QEMUCmd = "/bin/qemu-system-x86_64 -accel kvm -cpu host -smp cores=4 -m 4G", UseUnixSockets = true, VNCPort = 5900, Snapshots = true}
|
|
# True if the public can take turns, false to limit to staff and those with the turn password. This can be toggled at runtime with opcode 22
|
|
TurnsAllowed = true
|
|
# If defined, the hash for a password non-staff can use to take turns while they are disabled. (Default: hunter4)
|
|
TurnPasswordHash = "18183dd9009f2b7e1b44f9c4af287589c2415bc6258f547815b246ffeb955122"
|