Skip to content

Beta release#81

Draft
Armored-Dragon wants to merge 21 commits into
betafrom
alpha
Draft

Beta release#81
Armored-Dragon wants to merge 21 commits into
betafrom
alpha

Conversation

@Armored-Dragon
Copy link
Copy Markdown
Member

This is the first beta release of the OpenMinerva client!

The issue was player controllers had collisions. When they were spawned on the client, they were inside of the client on the client side. This caused the client to clip into the floor due to the client-side collision.
Previously, only the host could see everyone. This means a third person could join and the two non-hosts could not see each other.
This fixes the clients spawning into the ground due to collider issues. This also changes how the client spawning functions so that an unlimited number of clients can connect and see each other.
* Basic http manager.
Basic login functionality.

* Created basic credential store.

* Updated url for device authentication.

* Device authentication.
* Work.
Just saving progress.

* Disconnect when JWT verification fails.
* Refactored JWT script.

* Refactored files.gd.
Log to a file.
Changed Global log function name.
Print_stack on error.

* Refactored account_servers.gd

* Moved credential_store.

* Moved the other files.

* RPC Manager.
This contains a lot of dev functions. Another round of refactoring is required.

* Removed multiplayer_manager and merged into network_manager.
* Basic handling for multiple accounts.
Improve security by utilizing two unique keys. One for Client to AS, the other for Client to Client/Server.

* Refactored signin.gd.

* Properly send public key to identity server.

* Multi Account support.

* Base work for libraries.

* Remove dead code.

* Account authentication status.

* Passport handling.
Changes how passports are obtained.
Select an account to use.
Remove dead code.

* Dashboard current account selection.

* Created placeholder jwt lib file.

* Changed how responses are verified.
Fixed passport sending to server.
Fixed timing issue requesting passport from account server.

* Change the dashboard to something more presentable. (#64)

* New dashboard work.

* Changed sessions icon.
Added instance option to manage the current instance.

* Disable dashboard buttons when page is not present.

* Storage display.

* Add account list page.
Improved display_dashboard... function.

* Created placeholder theme for panels.

* Basic account list haneling.

* Better create account functionality.

* Account login.

* Replaced original dashboard.
Scroll to bottom of messages when contacts are open.

* Use OAuth authentication for the game client. (#67)

* Initial work.
Lots of hard coded values, but this is functional ground work for OAuth support from the game client.

* Generate a random key for the pkce.

* Made the auth code non-global.

* Refresh token and access token.

* Added TODOs.

* Added file header.
psioniq File Header extension config.

* Reimplemented JWT library.

* Set oauth variables.

* Removed hardcoded authentication server values.

* Use existing random_string in random library.

* Base64 to Base64uri function in jwt library.

* Token introspection and refreshing.

* Placeholder TCPResponse to successful token capture.
The browser will no longer hang continuiously.

* Cleanup.

* Added multiple login options.
This changes the login flow to have the user specify which login they are intending on using.

* Created url library.
This will centralize url parsing making it easier to handle urls.

* Removed passport handling.
This will likely be reimplemented later.

* Improved create account flow.

* Disabled usernamepassword login.

* Use URL Parser library.

* Removed unused AES file.
Right now I do not need this here.

* Removed duplicate library.
Removed unused references.

* Stop checking OAuth server after successful connection.

* Change the dashboard handling to use a singal bus. (#78)

* Dev upload public key to the server.
I need to make some changes to the UIX so I am making a checkpoint here.

* Change structure of hut to use signalbus.

* OAuth flow.

* Go back from account creation page.

* Refresh account list on change.

* Move to account list after creating a local account.

* Check to see if account is valid before logging in.

* Remove unused account data display.

* Disable navigation to unknown pages.

* Exit page.

* Removed old dash files.
* Change movement to always calculate vector.
This change makes it so that when the menu is opened, the player will stop being able to control the player, but the player can still slow down to a stop.

* Remove movement FOV.

* Fix dashboard not opening sometimes, or getting stuck.

* Removed placeholder url.
@Armored-Dragon Armored-Dragon self-assigned this Apr 1, 2026
@Armored-Dragon Armored-Dragon added enhancement New feature or request om-client Issues relating to the OpenMinerva client. labels Apr 1, 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.
* Remove local oauth library.
Use Godot-OAuth2 library.

* Adjustments with the current Alpha of godot-oauth2client library.

* Added warning label to warning log.

* Adjusted README.md to center Discord invite.
* Removed legacy media.
Updated names.

* Added branding icons.

* Changed physics settings.
I guess I forgot to include the actual license in the file.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request om-client Issues relating to the OpenMinerva client.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant