After a long time, the c# online status server is in it’s alpha stages. I have got a working prototype that I created with the help of an old c# server written tutorial from Tom Weiland. The tutorial goes into great detail and with it being written, made it that much more enjoyable to navigate. While the server’s main purpose is to be a game server, I am happy with the adaptations I have made. With it, I plan to expand my PlayFab Unity guide.
PlayFab Online Status Server
The server is setup to work with a self-signed certificate. Once a connection is made and the client authenticated, the client must send a passphrase to the server. Unless the passphrase is provided, the client will be disconnected.
While this isn’t the most solid of security, the server only keeps live anonymous data and is a precursor to basic logs for further fail2ban implementation. All very exciting stuff.
Some interesting developments lately. I decided to scrap the tag system as it resulted in too many API calls. The user would log in, tag himself as online and repeat the tagging process every 4 minutes and a half. When a friend would login and query PlayFab for his friends, only users who have tagged themselves in the past 5 minutes would be returned as online. Everyone else would be set offline by the user that last queried PlayFab.
While this works in practice, it results in a lot of API calls which, in the end, means more cost for us, the developers.
I explored the possibility of using SinalR but instead opted to make my own service. I had yet to program outside of Unity so I set out to find a written guide to aid in my endeavour. It took some digging but I found a very interesting paper by Tom Weiland. It was very well written and while I do not fully understand all of it just yet, it is a very good starting point.
The service is a C# Core TCP server. It’s purpose is to allow players to relay PlayFab information to one another. For instance, the Party system’s chat and VoIP functionality is intended to be used before, during and after the game. I do not think it was intended to be used as a chat system. Yet we can do just that with this service, bringing extra functionality to PlayFab.
It could be argued that this would bring even more cost to the table and that might be true. Further research is needed.
Today, a lot of progress was made in regards to the Friends List. From what I have been able to gather, PlayFab does not support “Online” status which is a bummer. After some tinkering I managed to get some sort of Online behaviour to work using the Tags system.
I highly doubt this is the best way to go about this but it works. More research needed to see if I can reduce the amount of API calls. I’ll be updating the PlayFab Unity article with my findings once I clean up and optimize the code.
The first part of the article regarding Authentication is complete. Most of the relevant information about the subject should be there. I plan to go further into the Account Management side of PlayFab a little later on.
Lastly, the Party section is still missing love which will be resolved soonTM.
Have a great day.
Yesterday, I reached out in the hopes to gather feedback about the current state of the PlayFab Unity article. While promising, there are a number of recurring comments that need to be addressed today.
Shout out to AlexRak’s community and DrunkenSeagull for their feedback.
Today I decided it would be a good idea to upgrade my webhost service and php. Alas I commited a capital sin by not doing any backups and expecting everything to go smoothly.
My distro stopped going into gui. I was locked in the console. Any attempts to initiate it resulted in a black screen. Things were looking grim.
After hours of trial and error, success! We got back into the distro and fixed all issues with the services.
TLDR: Always backup your data before doing upgrades to avoid making rookie mistakes!
After a small hiatus, the server is back on track. I decided to give the new map Esseker a try and I hope you enjoy playing on it. There is still some work that needs to be done to finalize the server but for the most part it is good to go.
Enjoy your stay on my server and most importantly have fun!
If you have been playing on the server, you must have noticed it’s been offline for a few days. The new update glitched a few mods and most of the data was lost. Since most mods were not working, I decided to wait a few days to attempt to fix it. Server should be back online by Monday the 26th.
Thank you for your patience and sorry for any inconvenience.
The server is seeing some activity which is quite exciting. Met with one of our players tonight and he seemed to be having a good time.
All player suggestions are welcome.
There is an increased animal and zombie cap. (500 and 2500)
I have yet to see how the server will handle so many entities with a lot of players.
All and all, seems gud.
With the completion of the web server interface comes the time to begin work populating the site. It is a relief to know my current interface is stable.
In the coming weeks, I shall endeavor to share my experience and perspective as a solo Unity game dev. In the meantime, thank you very much for visiting my site.
Hello and welcome to my game dev adventure. It is my hope that having this website will help me document my progress as I make my way into the exciting world of game making.