Game server plugins: Minecraft, FiveM and SCP:SL
We write Minecraft plugins, FiveM scripts and SCP: Secret Laboratory plugins for mechanics no ready-made pack has: your own currency, a shop, ranks, mini games and anything you dream up for your players.

Three games, three ways of writing
Each game has a different language, a different API and different pitfalls. We write for whatever your server runs and follow its community's conventions.
- Language
- Java
- API
- Paper, Spigot
- Typical plugins
- Economy, minigames, GUI menus, stored player data
- Language
- Lua or JavaScript
- API
- ESX, QBCore
- Typical plugins
- Jobs, factions, NUI interfaces
- Language
- C#
- API
- EXILED, LabAPI
- Typical plugins
- New roles, round events, admin tools
An economy and a shop on the server
A Minecraft server runs 20 ticks a second, one every 50 ms, and has to fit all game logic into that time. So the economy and the shop save their data in the background, and only the result comes back to the game.
The balance in a database, not a file
The plugin keeps balances in a backed-up database, not a single file, so player progress survives a server crash.
Prices and limits in the config
You change the price, the daily limit and the shop texts in a config file with every option described, with no developer and no recompiling.
A store order waits for the player
A paid order goes into the reward queue, and the plugin hands it out the next time the player joins. A repeated notification from the payment operator never hands it out twice.
A purchase without lag
The purchase is written to the database in the background, off the main thread, so it never holds up server ticks.
FiveM: logic on the server, not the player
A FiveM resource is described by its fxmanifest.lua: client scripts, server scripts and the NUI page. Money and items are decided by the server layer, never by the player.
- NUIui_page in fxmanifest.lua, HTML and JavaScript, job and faction menus
The player clicks in the interface that the job is done.
- Client scriptsclient_scripts, Lua or JavaScript, what the player sees and clicks
The client script passes the request to the server and settles nothing itself.
- Server scriptsserver_scripts, condition checks, payout
The server checks that the job was really done and only then pays out.
- FrameworkESX, QBCore
The framework adds the money to the player's character.
- DatabasePlayer characters and economy, backups
The new balance goes into a backed-up database.
The client script runs on the player's machine, so it can be bypassed, and a server event can be triggered with forged data.
Refused. What the client sends is never taken on trust: the server checks for itself that the job was done.
What you own
You get the whole resource with the rights after acceptance and full payment, and you change payouts, prices and texts in the config files without a developer. The repository keeps its change history, so someone other than us can keep developing the resource too.
SCP:SL: LabAPI or EXILED
LabAPI is the official modding framework from the makers of the game, while EXILED is developed by the community. The first question is not which one is better but what your server runs on.
LabAPI
The game and the framework come from the same team, Northwood Studios, the makers of the game. It is the official SCP: Secret Laboratory modding framework.
- The server is just starting, or you are rewriting its plugins anyway, so nothing ties you to another framework.
- You want to build on the official framework from Northwood Studios, the makers of the game.
- The plugins you want to add are written for LabAPI.
- The game and the framework come from the same team, and you would rather check compatibility after an update against one source of changes.
- The plugin is meant to run on many servers, not just yours, so you build it on the framework the game makers name as official.
A server with no plugins yet, or a set rewritten from scratch, goes on LabAPI. New code then rests on what the game makers provide rather than on one more project.
EXILED
The framework is developed by the community, in the ExMod-Team repository. It is a plugin framework with a game event system.
- The server already runs EXILED and has plugins you do not want to rewrite.
- The plugins you want to keep or add use EXILED.
- Your plugins react to game events through the EXILED event system, and the new plugin has to work with them.
- Your staff already know the config and commands of your EXILED plugins, and a framework switch would mean learning it all again.
- You want a new mechanic, not a rebuild of the whole server.
A server that runs EXILED stays on EXILED: the new plugin works next to the ones you have, with no rewrite of the set. A move to LabAPI is quoted separately, if you decide to make it.
What we connect the plugin to
A game server rarely lives alone. These connections come up most often.
- Discord
The player links accounts once, and from then on the in-game rank and the Discord role change together.
- Item shop and payments
A paid order waits in the reward queue, and when the bank reverses a payment, the reward goes into the removal queue.
- Server panel
The egg's install script fetches the plugin along with the game, and the hosting customer changes its config in the panel or over SFTP.
A player joining, a rank change, a player report, stats and the server state.
Database queries and web requests run off the main thread, so they never hold up the ticks.
- Steam
By SteamID the plugin links the site account to the player in game, so a purchase reaches the right person even after a name change.
- Server website
The site reads the leaderboard from the same database the plugin writes stats to, so the numbers on the site and in game match.
- Database
Balances, the reward queue and stats in a backed-up database rather than in files on the game server.
How we build a plugin
From a description of the mechanic to a plugin installed on your server.
- You getA quote and a date
The mechanic
You describe what should happen in game and list your plugins, and we agree on the game version, framework, dependencies and possible conflicts.
You get: A quote and a date
- You getFixes after testing
A test build
The plugin goes onto a test server with the same game version and plugin set, where you try it with your staff before release.
You get: Fixes after testing
- You getA plugin ready for production
Load testing
With many players on at once, we measure the plugin's tick impact and check that data writes are complete.
You get: A plugin ready for production
- You getCode you own and a guide
Installation
We install the plugin on the live server or hand your staff the instructions.
You get: Code you own and a guide
- You getCompatibility with new versions
Updates
When a new game version lands, the live server stays on its current one while we fix the plugin on the new one, before the server moves over.
You get: Compatibility with new versions
Common questions about game plugins
Answers about game versions, source code and the quote.
Read next
The services, integrations and tools that most often go with a plugin.
Describe the mechanic your server is missing
Tell us which game and framework your server runs and what should happen. We will reply within an hour with questions and a quote.





