Where have I been?

Short answer is I got back into my favourite game, Eve online. It’s been a little over a year since I got back into that game and my game development progress ground to a halt.

Alas, it’s not all doom and gloom. I’ve recently gotten back into the grind and am working on my dream project once again which just so happens to be space themed like my favourite game.

This project is multiplayer and will most likely require a pretty robust networking solution. I’ve decided to move away from the standard networking API’s that most Unity developers use in favour of Riptide networking. It’s a lot more work to get things going but it also allows me to dictate exactly what I want communicated to whom and when. Let’s hope that this decision was the right one.

Choosing this solution brought about some interesting challenges. For one, I needed to figure out how I would tackle interest management. For this, I figured that spatial hashing would be the best recourse although there were some other options that may have been suitable as well. (IE: Quad trees, Dynamic trees, etc…)

Hopefully my next update is not in two years.

Be safe everyone.

Success!

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.

Experiments

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.

PlayFab Unity Integration Article Dev Log

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.

Article revisions

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.

Webhost Upgrade Scare

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!

PlayFab on the side

After a very long hiatus, we are back on track with studies. Lately, I have been feeling like learning about the backend API PlayFab. While this is not my first time playing around with the API, it’s definitely my most productive one.

Using the CustomID login, I was able to let player’s create and join network’s to communicate. I am sure these networks serve other purposes but I have yet to discover any of this.

Further digging is required.

Server is Live…

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!

Dayz 1.12

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.

Server health

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.