spatialos / gdk-for-unity

SpatialOS GDK for Unity
https://gdk.improbable.io/spatialos-gdk-unity
MIT License
355 stars 77 forks source link

SpatialOS Launcher only accept client workers named with UnityClient/UnrealClient/LauncherClient #1410

Closed No3371 closed 4 years ago

No3371 commented 4 years ago

I encountered an issue that whenever I try to launch my game from SpatialOS console, the launcher always pops out a modal says "error fetching client details".

My client worker was named "PlayerClient", after messing with all the config files for half a day, I looked into the launcher log file and figured out it only looked for "UnityClient", "UnrealClient", "LauncherClient".

I don't know where is this kept in the documentation, but I consider the behavior is very inconsistent with server workers, it just does not make sense that we can name server workers whatever we want, while custom named client workers just fail without any valid description.

jamiebrynes7 commented 4 years ago

Hey @No3371, yeah this is the current behaviour - I'll pass this feedback onto the relevant team!

In the meantime, there's a little bit more information about the launcher configuration in the documentation.

Is there any particular reason you wanted to change your client name?

No3371 commented 4 years ago

So it's the Tools documentation! I've never looked into there... actually I don't think anyone'd expect this because the launch configuration file documentation in Spatail Overview mentions the rule or redirect us to the Tools documentation. (neither the flexible one)

It's just no one told me I can't, and what if I made 2 clients to access 1 game, both with Unity 🤔 ? The server workers are named with their purpose, but the client workers are named with engine? Not even with platforms... sounds very weird to me...

No3371 commented 4 years ago

It's just no one told me I can't, and what if I made 2 clients to access 1 game, both with Unity 🤔 ?

It suddenly comes to my mind that this is impossible? Can we start clients without SpatialOS launcher?

For example: I always have a interesting thought about players should be able to access a game with mobile app to perform some routines, can we do this with SpatialOS?

jamiebrynes7 commented 4 years ago

It suddenly comes to my mind that this is impossible? Can we start clients without SpatialOS launcher?

You can definitely start clients without the SpatialOS launcher. The launcher pulls the client build, unzips it, and starts it with a set of command line arguments (crucially a set of login credentials for connecting to the specified cloud deployment).

In development, you can use the development authentication service to connect to cloud deployments, but for production you would need to roll your own authentication service in order to login users and grant them login tokens.

No3371 commented 4 years ago

Thanks for the quick answer, that'd be a really important factor for my office to adopt SpatialOS in the future 😄

(Still, I hope you will remove the client worker naming limitation in the future.)