Setting up the Bedwars network
Install Bedwars Lobby and Bedwars Game with the Aegis loader, name your server groups and check that queues reach your game servers.
Before you start
Each Bedwars server needs Paper 1.21.11, Java 25 and a working Bridge connection. Bridge is sold separately. Read Installation first if you haven't used the Aegis loader before.
You need at least two servers:
- a lobby, where players queue with
/bedwars; - a game server, where the matches are played. Add more game servers to run more matches at once.
Install the loader on every server
Put your Aegis.jar in the plugins folder of each lobby and game server, then start each server once so the loader creates its config.
Add the right plugin to each server
On a lobby, add Bedwars Lobby. On a game server, add Bedwars Game. Don't add both to one server.
products:
BedwarsLobby:
enabled: true
release: latest
channel: stable
required: trueproducts:
BedwarsGame:
enabled: true
release: latest
channel: stable
required: trueYou don't need to list Scaffold, Bridge, Kernel or Stash. The loader downloads them because Bedwars needs them. Your licence must include Bridge, or the loader can't start Bedwars.
Product names in config.yml ignore case and spaces, so Bedwars Lobby and bedwarslobby work too. Each plugin keeps its files in its own folder in plugins/, named after the product as the loader prints it when it starts.
Name your server groups
Bedwars tells lobbies and game servers apart by their Kernel group. The group is the first entry of group in kernel.yml. If group is empty, Kernel uses the server id without its last -part, so bedwars-lobby-1 is in the group bedwars-lobby.
- A lobby's group must end in
lobby. Bedwars Lobby only turns on its sidebar and match handling on a server whose group does. - A game server's group must not end in
lobby. Scaffold treats those servers as lobbies, protects their blocks and doesn't send stray players away.
Use bedwars-lobby and bedwars-game. When a game server sends a player back to a lobby, it prefers lobbies in the group with the same name and -lobby in place of -game.
serverId: bedwars-lobby-1
group: bedwars-lobbyserverId: bedwars-game-1
group: bedwars-gameGive every server its own serverId. BRIDGE_SERVER and BRIDGE_GROUP environment variables override serverId and group if you set them.
Leave game servers hosting games
Scaffold's scaffold.yml has a gameServer setting. It defaults to true. Keep it true on Bedwars game servers, or they won't accept matches.
gameServer: true
mirror: falseAdd a map
Matches only start on maps that have team spawns, beds and generators for the mode. See Maps.
Test a queue
Join the lobby and run /bedwars. Click a mode with enough players to fill two teams. For Solo that is two players. If no game server is online, players see "No solo servers are online right now" and stay queued until one starts.
How servers find each other
Lobbies and game servers share the network database through Stash. Each game server announces that it can host Bedwars. The lobby sends a match to the least busy game server, and prefers one in the same Kernel region as the players.
Maps are stored in the same database, so every server sees the same maps. A change to a map reaches every server without a restart.
Rejoining a match
A player who disconnects during a match can come back within 120 seconds. When they join any server running Scaffold in that time, they are sent back to their match. Change the time with match. in the game server's settings.yml.
Queues and parties
The lobby queues each player on their own. Party members are not kept together when they queue for Bedwars.
A player can wait in more than one mode's queue at once, up to 4 queues. Change the limit with queue.maxQueues in Scaffold's settings.yml.
A player leaves every queue by leaving the server. Bedwars has no leave-queue command.