|
|
Bomberman Multiplayer
Authoritative multiplayer networking layer for Bomberman.
|
Authoritative server session lifecycle, peer-session binding, and player-slot management. More...
#include "ServerState.h"#include <numeric>#include <random>#include "ServerFlow.h"#include "ServerPowerups.h"#include "Sim/SpawnSlots.h"#include "Sim/TileMapGen.h"#include "Util/Log.h"Namespaces | |
| namespace | bomberman::server |
| Authoritative dedicated-server state, match flow, and fixed-tick simulation support. | |
Functions | |
| void | bomberman::server::initServerState (ServerState &state, ENetHost *host, bool diagEnabled=false, bool overrideMapSeed=false, uint32_t mapSeed=0, uint32_t inputLeadTicks=sim::kDefaultServerInputLeadTicks, uint32_t snapshotIntervalTicks=sim::kDefaultServerSnapshotIntervalTicks, bool powersEnabled=true) |
Resets a ServerState for a new dedicated-server session. | |
| void | bomberman::server::rollNextRoundMapSeed (ServerState &state) |
| Chooses the seed for the next round map. | |
| std::optional< uint8_t > | bomberman::server::acquirePlayerId (ServerState &state) |
| Returns the lowest available playerId. | |
| bool | bomberman::server::acquireSpecificPlayerId (ServerState &state, uint8_t playerId) |
| Removes a specific playerId from the free pool if available. | |
| void | bomberman::server::releasePlayerId (ServerState &state, uint8_t playerId) |
| Returns a playerId to the free pool. | |
| PeerSession * | bomberman::server::bindPeerSession (ServerState &state, ENetPeer &peer) |
| Binds a connected ENet peer to stable live peer-session storage. | |
| PeerSession * | bomberman::server::getPeerSession (ENetPeer *peer) |
Returns the live peer session referenced by peer->data, if any. | |
| const PeerSession * | bomberman::server::getPeerSession (const ENetPeer *peer) |
| PeerSession * | bomberman::server::findPeerSessionByPlayerId (ServerState &state, uint8_t playerId) |
Returns the live peer session currently bound to playerId, if any. | |
| const PeerSession * | bomberman::server::findPeerSessionByPlayerId (const ServerState &state, const uint8_t playerId) |
| void | bomberman::server::acceptPeerSession (ServerState &state, PeerSession &session, uint8_t playerId, std::string_view playerName, uint8_t carriedWins=0) |
| Commits an accepted peer session into active player metadata. | |
| std::optional< uint8_t > | bomberman::server::releasePeerSession (ServerState &state, ENetPeer &peer) |
Releases the live peer session bound to peer, if any. | |
| void | bomberman::server::createMatchPlayerState (ServerState &state, uint8_t playerId) |
| Creates active in-match state for one player seat. | |
| void | bomberman::server::destroyMatchPlayerState (ServerState &state, uint8_t playerId) |
| Destroys active in-match state for one player seat, if present. | |
Authoritative server session lifecycle, peer-session binding, and player-slot management.