Moderation
The admin page gives you access to an example moderation system. Admins can access text message and voice transcription history from worlds started from your organisation.
Admins can also mute and ban players from this page. Messages are checked against a modifiable list of banned profanity (this is stored in Live Config), and offending messages are highlighted in red.

To use the admin page you must set up the following:
1. Set a database to store messages
For this example we will use Redis Cloud, a free database that allows you to store up to 30MB of data in their Key Value store.
Create an account.
Create a new database via the Redis Cloud console.
For the purpose of this example it doesn't matter which cloud vendor or region you choose.
Go to https://cloud.redis.io/#/databases and select the free database that you just created. This will take you to the database's Configuration tab.
Go to the General section and note down these values:
REDIS_HOST
: This will be listed as "Public endpoint" and will look like:redis-13619.c338.eu-west-2-1.ec2.redns.redis-cloud.com
It will have a colon and another number at the end of it. Remove that from the vale that you note down.
REDIS_PORT
: This is a subset of Redis Host. It's the number afterredis-
(13619
in the example above).
Go to the Security section and note down these values:
REDIS_USERNAME
- This should bedefault
REDIS_PASSWORD
- This is listed as "default user password".
Follow the steps in Managing environment variables to declare the following values that you just noted down as environment variables in Vercel.
Once set up, all messages sent via your game client will be stored in your Redis database. The template app allows you to configure various settings (such as the max messages to store per world, the time to live for each key stored in Redis, and the key prefix for message values). You can configure these in your app's constants/config.ts file.
2. Add your redis to your Unreal project's live config
For moderation to function your Unreal project needs to know where to send messages to. Let's tell the Unreal project about our database.
In your IDE, open
Config/LiveConfig/Overrides/game.override.json
Replace its contents with the following:
{
"Inventory": {
"HidePlaceMode": true,
"Quickbar": {
"GadgetTabSlots": 8,
"EmoteTabSlots": 8,
"UsingEquipmentTabs": true
}
},
"Moderation": {
"ModerationSiteUrl": "http://localhost:3000/api/",
"UseSpeechToText": true
}
}
In this snippet
ModerationSiteUrl
is set as localhost. This means that you can test it against a locally deployed version of morpheus-platform-example-app.Once you're happy that this works locally, replace
ModerationSiteUrl
with[your-vercel-app-url]/api/
Follow these steps to deploy a world: Upload Content.
This new upload is necessary to update the Live Config that the world will use.
Deploy your world.
Your new world will have a new
WORLD_ID
. You need to update theWORLD_ID
Environment Variable of your Vercel app, then redeploy the app for the variable change to take effect.
You should now see any messages that have been sent come through to your Vercel hosted Moderator app! Messages that are potentially dangerous will be flagged in red.
Last updated
Was this helpful?