Skip to content

New application manager files.#83

Merged
Armored-Dragon merged 27 commits into
feature/session-hostingfrom
feature/session-hosting-managers
Apr 16, 2026
Merged

New application manager files.#83
Armored-Dragon merged 27 commits into
feature/session-hostingfrom
feature/session-hosting-managers

Conversation

@Armored-Dragon
Copy link
Copy Markdown
Member

The existing server manager files were built assuming that only one session would ever exist in context of the application. The intent of this pull request is to allow the application to join an arbitrary amount of sessions, and host an arbitrary amount of sessions simultaneously.
In short, you will be able to be in multiple places at the same time.

@Armored-Dragon Armored-Dragon self-assigned this Apr 13, 2026
@Armored-Dragon Armored-Dragon added the enhancement New feature or request label Apr 13, 2026
@Armored-Dragon Armored-Dragon marked this pull request as ready for review April 13, 2026 11:19
@Armored-Dragon Armored-Dragon merged commit e20bf94 into feature/session-hosting Apr 16, 2026
@Armored-Dragon Armored-Dragon deleted the feature/session-hosting-managers branch April 21, 2026 19:56
Armored-Dragon added a commit that referenced this pull request May 4, 2026
* Session listing function.

* Basic session querying.

* Fixed text capturing.

* Instance HUD.

* Added active session display.
New network_manager to manage multiple sessions at once.

* Added debug bug fix for crashing the game when not logged in when viewing the sessions tab.

* Session advertising.

* New application manager files. (#83)

* Created new manager files.

* Created base server scene.
Created create_master_scene function.

* Start multiplayer server.

* Fixed dashboard error.
Could not find active sessions because there was not a function.

* Load scene root.

* Force spawn the host.

* Start server managers.

* Added function name to logger.

* Removed old files.

* Fixed port finder bug.
The function would never find a port, woopsie!

* Initial session advertising work.

* Removed unneeded Enum.

* Initial heartbeat work.

* Session Updating.
Sessions can now update settings on the fly.

* Session delisting.
Remove sessions from the session server.

* Settings placeholder.
List session servers.

* Remove session server from config.

* Add session servers.

* Don't add empty session servers.

* Hide session server dialog in settings.

* Use session server list to advertise sessions to.

* Error fixes.
Makes the debugger not angry with me.

* Properly destroy master scene when creating a server failed.

* Error handling.
Removed some out of date TODOs.

* Stop scene when replacing root.

* Removed hardcoded localhost values used for debugging and development.

* Moved TODO to it's own issue.
#85

* Fixed heartbeats using incorrect ID.

* Fixed port issues.

* Remove dead code.

* Attempt fix for rare network issue.

* Do not request new key if we have key already.

* Basic connection to multiplayer sessions.

* Bootstrap for managing startup and shutdown.

* Close and leave servers on shutdown.

* Moved functions from app manager to session manager.

* Add multiplayer support (#89)

* Spawn player on connect.

* Basic connected session switching.

* Synchronization testing.

* Maybe fix desync of loaded players?

* Removed interaction ray from player controller.

* Set active session from network.

* Kick players when a session is closing.

* Fixed all loggers to use Enums instead of magic numbers.

* NetworkCompression autoload instead of hard referenced library.

* Removed now unused RPC handlers.

* Made HTTP library a global.

* Fix errors.

* Added session disconnect button.
Fixed leaving world.

* Minor refactor.

* Fix player losing control of other sessions when connecting.

* Clean up peer when they disconnect.

* Changed node IDs.
This was causing errors or something?

* Change module active variable name from "active" to "module_active" to
prevent confusion.

* Fix controlling incorrect player when joining session.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant