ChatBackendAddon
2022-08-11This plugin allows you to preprocess PistonChat messages on an external backend server.
This plugin allows you to preprocess PistonChat messages on an external backend server.
Config
If you don't have DNS load balancer you could add the addresses of the replicas manually or just have one server to handle all requests. Retries field specifies how many times the plugin will try to process one message if it fails.
enable: true
allow-on-error: true
timeout: 1000
retries: 1
enable-metrics: true
servers: # load balanced with round-robin
- http://localhost:25501
Backend server example (Node)
You can write it in any language as long as the server accepts POST requests and returns a JSON object which contains at least an "allow" boolean field.
const fastify = require('fastify')({ logger: true });
fastify.post('/', async (request, reply) => {
const { username, message } = request.body;
console.log({ username, message });
return {
allowed: !message.match(/1\s*\+\s*1/g),
replacement: message.match(/2/g) ? message.replace(/2/g, '3') : null
};
});
const start = async () => {
try {
await fastify.listen(25501);
} catch (err) {
fastify.log.error(err);
process.exit(1);
}
}
start();
Building from source
git clone https://github.com/comendantmc/ChatBackendAddon.git
cd ChatBackendAddon
mvn packageSimilar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta