Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Server listing static vals + ServerMgr #9

Open
wants to merge 45 commits into
base: main
Choose a base branch
from

Conversation

dylanh724
Copy link
Contributor

@dylanh724 dylanh724 commented Jul 26, 2023

Core Fix

When creating a 25-player room named "Player39954's Game" --
image

Before

image
image

After

image

^ Also fixed the bottom-right 'created' to match the name (rather than id).

Additionally

  • fix: "Auto" region bug workaround:
    image.
  • HathoraServerMgr (and related API wrapper) fixes that were being treated as Monobehaviours (like ClientMgr).
  • Updated custom Dockerfile (reverted cert apt installs, fixed default exe name).
  • Get a chain of info from env var ProcessId when deployed to Hathora and cache @ Networking.cs
  • Mock ProcessId debugger
  • HathoraManager per-scene (renamed to HathoraPhotonManager for clarity it's a variant prefab).
  • Simplified the code in Networking.cs
  • General fixes/feats ported to Hathora-Unity.

Adding the explicit ver should remove the need for the +certs since new versions should already have them.
Added cmds via recommended array[] while splitting them on different lines for read clarity and git diff clarity for changes
* Serialized @ HathoraServerMgr instead of Photon's Global settings; more intuitive.
* In addddition: Added instructions if accessed but !serialized
Plus:
* Added cancel token to Task util to wait until, to prevent stack overflows
* Added the Room api to serverMgr
* Updated HathoraManager prefab
* Eg: Renamed HathoraNetClient to HathoraClient for consistency; Hathora-Unity already backported
* Updated HathoraManager GameObj to match
* Replaced HathoraManager GameObj with prefab from base for easier updating
Model With utils for Networking.cs init as server
+Minor doc fix for HathoraTaskUtils
* Moved some Hathora Networking.cs tasks way earlier; we needed to intercept SessionRequest before it turned into Session (to set lobby name, max players, etc - everything from InitialConfig prop)
* Fixed Singleton false positive get err
+Err catch with better instructions
/feat/dockerfile-update
hathora mgr is only in the Menu scene. If we start from another scene, things break? Keep an eye on this.
We were initializing the same way we did for Monobehaviour, at some point inadvertently. Servers init via constructor (client mgr inits via Init func)
Notably:
* There was a special Property setting util we didn't set
* GameMode on Create was saved as "Host" instead of "Server"

Plus:
* Impr mock procId debugger
* Tweaks, prettify, docs, minor refactoring
* Deleted "Auto" Region
* Bumped "USA, East" to the top
* Curiously: We can edit other Region settings here. Revisit this later?
@dylanh724 dylanh724 requested a review from jchu231 July 26, 2023 09:29
@dylanh724
Copy link
Contributor Author

dylanh724 commented Aug 23, 2023

TODO

Since this PR is still open, we may as well parity up with the related changes from hathora-unity:

  • Rename the "get room, process [and lobby]" func to GetServerContext()
  • Rename the result model to ServerContext.
  • Add public static OnInitialized event.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant