Skip to content

Runs on your own server.

One container and one PostgreSQL database. Your group’s records are stored there.

Where your data goes.

  • Every record the server keeps is in your database. Evidence files go to S3-compatible storage, a mounted folder or that same database.
  • The server talks to VRChat, Discord, your mail server and an AI provider when you set each one up. It never contacts modbot.co.
  • The companion also sends events to Modbot Cloud as a backup. This is on by default, and it has a switch for it.
  • Usage reports have no field for your group or its members, and you can turn them off.
One command
$ curl -fsSL https://modbot.co/get.sh | sh
The one setting
DATABASE_URL=postgres://user:password@host:5432/modbot
# PORT is optional and defaults to 8080

Everything else is set up in your browser.

  1. 1Create your administrator account
  2. 2Connect a VRChat account
  3. 3Check the connection
  4. 4Link your VRChat account
  5. 5Choose the group to manage
  6. 6Public address, Discord and email

Runs anywhere Docker does. On Railway it reads the platform’s own settings, including a storage bucket for evidence. Read the self-hosting guide

Deploy on Railway

Modbot and VRChat’s rules.

The VRChat client
Modbot does not modify the game. The server reads VRChat’s API and the companion reads the log file VRChat writes.
The VRChat account
Modbot signs in as one account you give it, which must be a moderator of the group. Its password and two-factor secret are stored encrypted in your database.
VRChat’s API
VRChat offers no support for third-party use of its API. Modbot is independent and not affiliated with VRChat Inc.
The Discord bot’s permissions
View Channels, Send Messages, Embed Links, Read Message History and View Audit Log. It does not ask for Administrator.

Not built yet

Designed and planned, but not in Modbot today.

Actions from Modbot
Kick, ban and warn without switching to VRChat.
Discord sync
Linked accounts, roles and bans kept in step with the group.
Segments and giveaways
Find “regulars with 10+ hours this month and no bans”, then draw fairly.
Shared warnings
Flags from the groups someone belongs to, shared between groups.