RE:NODE

Minecraft11 min read

Minecraft BedWars and minigames server

Run BedWars and other minigames on Paper: choosing a plugin, building arenas, resetting maps after each game, and laying out lobby and game servers behind a proxy.

0 readers

A BedWars server is a Paper server running a BedWars plugin, with arena maps built in a separate world and a reset mechanism that restores each map after every game. For a small community, one server running several arenas at once is enough. Past roughly fifty concurrent players, or once you want several minigames, the standard layout is a proxy in front of a lobby and one or more game servers, with players queued from the lobby and sent to a free arena. The plugin is a download; the work is in building good maps, resetting them reliably, and keeping games full enough to be fun.

This post covers the plugin choice, building and registering arenas, the reset problem, the network layout, sizing, and what goes wrong.

How a minigame server is different from survival#

A survival server keeps one world for years. A minigame server does the opposite: every game starts from an identical copy of a map, runs for ten or twenty minutes, and is thrown away. Nothing players build during a match should survive it.

That changes what matters:

  • World resets are the core feature. A BedWars map after a game is full of player-placed wool, broken beds and items. Restoring it quickly and exactly, dozens of times a day, is the most important thing the plugin does.
  • Persistence moves to statistics. Wins, kills, beds broken, levels and cosmetics are what players keep. Those live in a database, not in the world.
  • Load is spiky. A game with sixteen players fighting, bridging and spamming TNT is heavy for its fifteen minutes, then nothing. Several games starting at once is the peak to size for.
  • Empty servers kill minigames. BedWars needs eight to sixteen people at once. A server with five scattered players across four modes has nobody to play with. Launch with fewer modes, not more.

Choosing a BedWars plugin#

PluginLicenceNotes
BedWars1058FreeLong-running, many addons, single-server or per-server arenas
BedWars2023FreeA maintained continuation of BedWars1058
ScreamingBedWarsFree, open sourceHypixel-like defaults, actively developed
MBedwarsPaidPolished, large feature set, commercial support

Check compatibility with your exact Paper version and with the reset method you plan to use before choosing. A BedWars plugin that does not support your version is not going to be fixed by you.

BedWars1058 and its continuation are a useful example because they make the server layouts explicit. The plugin runs in one of three modes, set in its main config:

  • MULTIARENA - one server holds many arenas and its own lobby. Players use signs, NPCs or a menu to join a game. The simplest layout.
  • BUNGEE - one server runs exactly one arena and nothing else. A proxy and a separate lobby send players to whichever game server is waiting. The layout big networks use.
  • SHARED - BedWars arenas run on a server alongside other things, such as a survival world, without taking over the whole server.

Other BedWars plugins have equivalent concepts under different names. The decision is the same: everything on one server, or one game per server behind a proxy.

Other minigames

Most minigame plugins follow the same arena-and-reset pattern, so everything below applies to them too. Commonly run alongside BedWars: SkyWars (several free plugins), the Plugily Projects set (Murder Mystery, Build Battle, Village Defense and others, which share a framework), parkour plugins, and Spleef or TNT Run variants. Pick one family where you can; a consistent framework means one way of setting up arenas and one stats database.

Building and registering arenas#

An arena is a map plus a description of it the plugin understands. Build the map in a normal world, then register it.

  1. Build the map in a dedicated world, usually a void world so islands float with nothing around them. Keep each map's world small and separate: one world per arena makes resetting and copying trivial.
  2. Enter the plugin's setup mode for that world. Every BedWars plugin has one, usually a command that opens a setup GUI or gives you setup tools.
  3. Set team spawns, beds, generators and shops. For BedWars that means a spawn and a bed per team, iron and gold generators per island, diamond and emerald generators in the middle, and shop and upgrade NPC positions.
  4. Set the waiting area - where players stand until the game starts - and the minimum and maximum players.
  5. Set the boundaries: a void kill height, build height limits, and the protected radius around spawns and shops so nobody can block them.
  6. Save and test with real people. A map that looks balanced from creative mode often is not with sixteen players in it.

Map design notes that come from running these, not from the plugin wiki:

  • Island distance decides game length. Longer bridges mean longer games and fewer rushes. Copy the proportions of popular maps rather than inventing them.
  • Keep maps small in chunks. A BedWars map fits in a few hundred blocks square. Every extra chunk is something to load, copy and reset.
  • Remove everything that ticks. No farms, no hoppers, no redstone clocks in decorative builds. They will tick in every running copy of the map.
  • Set the world border tight around the map, so players cannot bridge off into generated terrain. In a void world there is nothing to generate, but borders also stop pearls into nowhere.

Resetting maps after every game#

This is the part that separates a server that works from one that slowly breaks. There are three common approaches.

Restore from a template copy

The plugin keeps a clean copy of each arena world. When a game ends, it unloads the used world, deletes it, copies the template back and loads it again. Simple and exact, but loading a world is main-thread work: on a busy server several arenas resetting at once is a visible lag spike. Small maps make it fast; large maps make it painful.

Track and undo changes

The plugin records every block placed or broken during the game and reverses them at the end. No world reload, but anything the plugin did not track - liquids flowing, blocks moved by explosions or pistons, entities - can leave traces. Over hundreds of games, small leftovers accumulate. Most good plugins combine tracking with periodic full restores.

Slime worlds

The Slime world format, from Hypixel's design and now maintained as Advanced Slime Paper and related projects, stores small worlds in a compact format and loads them from memory or a database without touching region files. Creating a fresh copy of an arena becomes nearly free and nothing has to be written to disk. Several BedWars plugins support it directly. It is the best option for a network running many short games, and overkill for a server with three arenas.

bukkit.yml (excerpt)
ticks-per:  autosave: 6000

That global autosave setting applies to worlds Bukkit manages normally; arena plugins and Slime loaders disable saving for their own worlds. Confirm it in your plugin's documentation, then test by playing a game, restarting the server mid-game, and checking the map is clean afterwards.

Network layout: lobby, game servers and the proxy#

For one server, MULTIARENA-style is fine: a lobby world and a handful of arenas in one process. It stops working when the arenas' combined load is more than one main thread can tick, or when you want minigames from different plugins that conflict.

The network layout splits the work:

Playersplay.example.comVelocitypublic portLobbyqueue, cosmeticsBedWars 1one arenaBedWars 2one arenaSkyWarsseveral arenasDatabasestats, levels
A minigame network behind one public address

Each piece has one job:

  • The proxy holds every player's connection and moves them between servers. Velocity is the right choice for a new network - see BungeeCord vs Velocity and the full setup in the Velocity network guide.
  • The lobby is where players arrive and queue. It needs little memory and no game logic: NPCs or signs to join, a scoreboard, cosmetics. It needs a way to know which game servers have space, which is what the BedWars plugin's lobby companion or a sign plugin provides, usually through the BungeeCord plugin messaging channel or a shared database.
  • Game servers each run one arena (or a few). When a game ends, the server resets and announces itself free again. Because each is its own process, a lagging game affects only its own sixteen players.
  • The database holds stats, levels and cosmetics so a player's profile follows them across every game server. Every game server and the lobby point at the same database - MySQL for Minecraft plugins covers the connection settings and pool sizes.

Large networks start and stop game servers automatically as queues grow, using orchestration software. That is beyond a panel host and beyond most communities: with a fixed set of game servers, you simply run as many as your peak needs and let the lobby distribute players among them.

Sizing minigame servers#

Minigames are bursty and CPU-bound. A sixteen-player BedWars game with TNT, fireballs and bridge spam costs much more per player than a quiet survival server.

SetupRAMNotes
Lobby (any size)1-2 GBLow view distance, adventure mode
One BedWars arena, 8-16 players2 GBPer game server in BUNGEE layout
One server, 4-6 small arenas4-6 GBMULTIARENA, main thread is the limit
Proxy512 MB-1 GB heapCPU, not memory

For game servers, low view distance (view-distance=6 or less) is fine because the map is small, and simulation-distance can be just enough to cover the map. Explosions are the most expensive thing in BedWars; most plugins let you limit TNT and fireball damage radius, which is also a gameplay decision.

On RE:NODE, each server in a network is its own plan with one port allocation, and more can be added on the Network tab. Minecraft plans start at 2 GB, which is the right size for a single-arena game server or a lobby. The Schedules tab can restart game servers in the early morning, when nobody is queued, which clears whatever small leftovers a reset missed.

Parties, queues and keeping games full#

The technical setup is half the job. The other half is getting enough players into each game at the same time.

  • Fewer modes at launch. One BedWars mode - solos or fours, not both - fills faster. Add modes when the existing one has a queue.
  • Smaller minimums. Let games start with fewer players after a countdown, so nobody waits five minutes in an empty lobby.
  • A party plugin. Friends want to queue together. Party plugins on the proxy move a whole party into the same game. Make sure your BedWars plugin respects them.
  • Cross-version clients. Many BedWars players still use old clients for combat reasons. ViaVersion and ViaRewind on the proxy or game servers let them join; the combat mechanics of 1.8 versus modern versions are a separate decision that some plugins expose as an option.
  • Bedrock players can join through Geyser on the proxy, with the limits that bridge has - Geyser and Floodgate lists them.

Troubleshooting#

Maps come back damaged after games. Changes are not being fully undone, or the arena saved over its template. Restore the template from your separate master copy, disable autosave on arena worlds, and prefer a full restore over change tracking.

Lag spike every time a game ends. World reloads on the main thread. Make maps smaller, stagger resets, or move to a Slime-based setup.

Players in the lobby see the wrong game status. The lobby is not receiving updates from game servers. Check that plugin messaging works through the proxy (Velocity keeps the BungeeCord channel on by default) and that the lobby and game servers agree on server names.

Stats reset or differ between servers. Some servers are using local storage instead of the shared database. Every server must point at the same database with the same table prefix.

Games never start. Minimum players set too high for your actual population. Lower it and shorten the countdown.

Players are kicked when sent to a game server. Forwarding is misconfigured on that server, or its Minecraft version does not match the others. Check the proxy console for the reason.

FAQ#

Can I run BedWars on the same server as survival?

Yes, with a plugin mode that shares the server, such as BedWars1058's SHARED mode. It works for occasional games. For regular games, a separate server behind a proxy keeps BedWars load away from the survival world.

How many players does a BedWars game need?

Eight is a minimum for a game that feels like BedWars; twelve to sixteen is typical. Size your launch around one full game at peak rather than several half-empty ones.

Do I need a proxy for minigames?

Not to start. A single server running several arenas is fine for a small community. A proxy becomes worthwhile when you run several minigame plugins, need more arenas than one main thread can carry, or want a central lobby.

Where do I get BedWars maps?

Build them, commission them, or download maps whose licence permits use on your server. Respect the author's terms - many free maps require credit or forbid resale.

What Minecraft version should a BedWars server run?

A current Paper version your BedWars plugin supports, with ViaVersion and ViaRewind if you want to admit older clients. Running an old server version for 1.8 combat cuts you off from modern plugins and security fixes.


Comments

Completely anonymous: no account, no email, no cookie. We store the name you type, the text and the time - nothing else. Links are limited and markup is not rendered.

0/2000