Fronty is a Discord bot designed to provide useful information and tools related to OpenFront.io.
The goal of Fronty is to make OpenFront data easier to access directly from Discord, allowing players and communities to quickly get information without leaving their server.
-
🌍 OpenFront information access
- Retrieve useful information about OpenFront.
- Access clan-related data.
- Provide game-related utilities directly inside Discord.
-
🏰 Clan support
- Search and display clan information.
- Work with OpenFront clan data.
-
🌐 Multi-language support
- 🇬🇧 English
- 🇫🇷 French
-
⚡ Scalable Discord architecture
- Supports Discord sharding.
- Supports clustering for large bot deployments.
- Designed with multi-machine support in mind.
Before installing Fronty, make sure you have:
- Node.js (recommended: latest LTS version)
- MongoDB database
- A Discord application and bot token
- An OpenFront refresh token (if required by your features)
git clone https://github.com/MCToStam/Fronty.git
cd Frontynpm installCreate a .env file based on .env.example:
DISCORD_TOKEN=
CROSS_HOST=false
TOTAL_SHARDS=auto
SHARDS_PER_CLUSTER=5
TOTAL_CLUSTERS=auto
# ---- Multi-machine mode (enable when needed) ----
# CROSS_HOST=
# BRIDGE_HOST=
# BRIDGE_PORT=
# BRIDGE_AUTH_TOKEN=
# TOTAL_MACHINES=
# TOTAL_SHARDS=
MONGO_URI=
OPENFRONT_REFRESH_TOKEN=DISCORD_TOKEN
Your Discord bot token.
You can create a Discord bot application from the Discord Developer Portal.
MONGO_URI
MongoDB connection string used to store and retrieve bot data.
OPENFRONT_REFRESH_TOKEN
Refresh token used to access OpenFront authenticated endpoints.
Fronty supports scalable Discord deployments:
TOTAL_SHARDS=auto
SHARDS_PER_CLUSTER=5
TOTAL_CLUSTERS=autoTOTAL_SHARDS: Number of Discord shards.SHARDS_PER_CLUSTER: Amount of shards handled by one cluster.TOTAL_CLUSTERS: Number of bot clusters.
For larger deployments, multi-machine mode can be enabled.
Fronty includes configuration options for running across multiple machines:
CROSS_HOST=
BRIDGE_HOST=
BRIDGE_PORT=
BRIDGE_AUTH_TOKEN=
TOTAL_MACHINES=
TOTAL_SHARDS=This allows horizontal scaling when a single machine is no longer enough.
Start Fronty with:
npm startThe project is structured to keep features separated and maintainable.
Main components include:
- Discord interaction handlers
- OpenFront API integration
- MongoDB models
- Localization system
- Sharding and clustering management
Fronty currently supports:
- English (
en) - French (
fr)
The localization system is designed to make adding new languages easier in the future.
Contributions are welcome!
If you want to improve Fronty:
- Fork the repository.
- Create a new branch.
- Make your changes.
- Submit a pull request.
Please make sure your code is clean and follows the existing project structure.
This project is distributed under the Apache License 2.0.
Built for the OpenFront.io community.
Fronty is an independent Discord bot and is not affiliated with the official OpenFront.io development team.