Weekly update #6
The worst update so far.
Last updated
Was this helpful?
The worst update so far.
Last updated
Was this helpful?
So, when I started this project, I had planned to do the game client with . S&box looked perfect, although early in its life, it's developed by Facepunch which always puts a lot of work in their products. Since I was about ready to just test the connection between a C# client and the game server, I hopped on s&box, quickly implemented the library, and tried connecting...
It did not work. s&box doesn't currently allow to import managed DLLs or libraries. After asking around, there was no way to keep using s&box. I opened up a feature request, and now I wait.
So I decided to jump over to Unity. Either for the whole project, or just for testing, but if it takes too long with s&box, Unity might be the best idea. Implemented Steamworks.NET, tried connecting...
It did not work, again. For several reasons.
For starters, I was running the game server on my Ubuntu distro in WSL, and networking between a Windows machine and WSL is something that I haven't looked into but looks a like a hassle.
I ended up making a Dockerfile and a Docker-compose file, and exposing the udp port since Valve uses UDP. Aaaaaaaaaaaaaaaaand it still did not work.
The server would error out when trying to accept the client's connection. From my understanding, this error stems from the fact that the game client uses Steamworks.NET and interfaces directly with the Steam API, and when trying to do sockets stuff with the Steamworks version, we get issued a cert from Steam.
The game server uses the open source version, Valve's GNS, and I think it doesn't get a cert from Steam, and is unable to communicate with the client.
I've created a support ticket on the Steamworks partner page, and created a GitHub Issue on Valve's GNS.
I've spent my Tuesday evening writing a CMake file, and until we get replies, we'll be switching the game server to C++. The following weeks will be spent most likely re-implementing everything.
Rough blow to the game server, but I carry on.