
FOR FIVEM DEVELOPERS
Your FiveM skills, in medieval Bohemia.
If you have built resources for a FiveM server, you already know how Kingdoms Connected works: resources, server and client scripts, events, state bags and HTML interfaces. Here is how the concepts map to Kingdom Come: Deliverance II.
Why build for KCD2
FiveM showed what communities can build on top of a great game: roleplay cities, economies, factions and custom interfaces. Kingdom Come: Deliverance II offers a different stage: a detailed medieval world with towns, castles, trade, horses and melee combat. Kingdoms Connected is the multiplayer layer and scripting framework that makes it a platform for server creators.
It is early. The mod is live, servers hold up to 512 players, and the first communities are forming now. That is the opportunity: the first great KCD2 servers have not been built yet.
FiveM concepts and their KCD2 equivalents
| On FiveM | On Kingdoms Connected |
|---|---|
| fxmanifest.lua | package.json with a mafiahub block |
| Lua, JavaScript or C# | JavaScript or TypeScript |
| RegisterCommand | Events.on("playerCommand", …) |
| TriggerClientEvent / TriggerServerEvent | player.emit / Events.emitServer, received with Events.on / Events.onClient |
| State bags | entity.state, with broadcast, owner and server scopes |
| exports | Exports.register / Exports.get, declared in the manifest |
| Routing buckets | Virtual worlds |
| NUI | Web views: Chromium pages drawn over the game |
| ensure / restart in the console | ensure, restart, refresh in the server console |
| server.cfg | server.json |
The names differ, and FiveM resources are not drop-in compatible, but the architecture is familiar enough that most of your instincts carry over.
What a resource looks like
A server script that greets players and hands out a horse on request. The server half runs in Node.js on the dedicated server; client halves run in each player’s game in a sandboxed V8.
Events.on("playerSpawned", (player) => {
Chat.sendToPlayer(player, `Welcome, ${player.nickname}. Type /horse for a ride.`);
});
Events.on("playerCommand", (player, command) => {
if (command !== "horse" || !player.ready) return;
Horse.spawn(player.position, undefined, undefined, `${player.nickname}'s horse`);
});Write your first resource builds exactly this, step by step, and Use TypeScript sets up typed declarations for the whole API.
What is different
- Player authority. KCD2 keeps a player’s state on their own machine, so the owning client is the authority for its own body and the server for everything shared. Most verbs return whether a request went out, not whether it worked.
- Room to grow. Up to 512 players per server, enough for full roleplay cities.
- A medieval toolbox. Instead of vehicles and weapons, you script NPCs, horses and dogs, quests in the journal, dialogue choices, shops, doors, gates and stashes.
- No Lua. JavaScript and TypeScript only, with generated type declarations for every function.
Get started
Read the scripting documentation, run a server with the default game mode, then pitch your idea to the team on Discord. Planning a roleplay community? See KCD2 roleplay servers.
FREQUENTLY ASKED
Coming from FiveM,
answered.
Straight answers, taken from the Kingdoms Connected documentation.
Can I run my FiveM resources on Kingdoms Connected?
No. Kingdoms Connected is a different game and a different framework, so FiveM resources are not drop-in compatible. The concepts carry over (resources, server and client scripts, events, state bags, HTML interfaces), so porting the logic of a JavaScript resource is often straightforward.
Does Kingdoms Connected support Lua?
No. Resources are written in JavaScript or TypeScript. The server runs them in Node.js and each client runs them in a sandboxed V8.
Is there an equivalent to fxmanifest.lua?
Yes: a resource is a folder with a package.json, and a mafiahub block in it lists serverScripts, clientScripts, sharedScripts, files, exports and dependencies.
Are there routing buckets?
Yes, called virtual worlds. Every entity carries a world number, and players only see entities in their own world, so you can run an arena or an instance on the same map.
How many players can a server hold compared to FiveM?
Kingdoms Connected servers hold up to 512 players, enough for full roleplay cities and large-scale battles.