diff --git a/source/game/StarSystemWorldClient.cpp b/source/game/StarSystemWorldClient.cpp index eb25124..e390860 100644 --- a/source/game/StarSystemWorldClient.cpp +++ b/source/game/StarSystemWorldClient.cpp @@ -75,7 +75,8 @@ void SystemWorldClient::update(float dt) { m_clientShips.clear(); m_ship = {}; m_location = Vec3I(); - } + } else if (auto celestialSlave = as(m_celestialDatabase)) + celestialSlave->signalSystem(currentSystem()); // keeps the celestial chunk for our current system alive } List SystemWorldClient::objects() const { diff --git a/source/game/StarUniverseServer.cpp b/source/game/StarUniverseServer.cpp index 7927aae..7317e52 100644 --- a/source/game/StarUniverseServer.cpp +++ b/source/game/StarUniverseServer.cpp @@ -735,7 +735,7 @@ void UniverseServer::kickErroredPlayers() { for (auto const& worldId : m_worlds.keys()) { if (auto world = getWorld(worldId)) { for (auto clientId : world->erroredClients()) - m_pendingDisconnections.add(clientId, "Incoming client packet has caused exception"); + m_pendingDisconnections[clientId] = "Incoming client packet has caused exception"; } } } @@ -1714,8 +1714,9 @@ void UniverseServer::acceptConnection(UniverseConnection connection, MaybeshipCoordinate().location(); if (location != Vec3I()) { - auto clientSystem = createSystemWorld(clientContext->shipCoordinate().location()); + auto clientSystem = createSystemWorld(location); clientSystem->addClient(clientId, clientContext->playerUuid(), clientContext->shipUpgrades().shipSpeed, clientContext->shipLocation()); + addCelestialRequests(clientId, {makeLeft(location.vec2()), makeRight(location)}); clientContext->setSystemWorld(clientSystem); }