So yeah I’m one of the people who wants to make an MMO by myself. Be warned lol. Anyways, it’s a long hard road and many responses will say “you can’t do it, give up, forget about it”. Well, we hear you but on that note, we don’t hear you…so let’s get past that right now.
Here are some things I’ve learned trying to create an MMO by myself. I, like a lot of people, started with Unity and we put a box on a plane, gave it a Vector3 worked on how to make it move through UDP or TCP. Fun stuff. But, and a big BUT, what you really need to do first and I’ve learned this through trial and error, is start with the server code. I’m writing the server in C# of course and I’ve been working on it about 6 months or longer. So if you have any specific questions about how I coded something please don’t hesitate to ask. I am determined to finish this project and I will not give up.
What have I learned on the server side? For sending emails from C#, use MailKit. I spent hours trying to use the native class and trying to send emails to SSL enabled port 465 to no avail. Found MailKit, problem solved. For network, I’m still torn between TCP code I wrote myself and using Enet-CSharp. Currently using my TCP code but might switch later to Enet. Also, each “Zone” really should be it’s own process. Processes can communicate with each other through named pipes. So get familiar with them. If you’re in Zone A and you want to enter Zone B, Zone A should send an internal message to Zone B with your sessionID (or GUID), letting Zone B know that you’re coming. Also each Zone (process) will need it’s own port. So you are disconnecting from one Zone and connecting to another Zone.
There are SO MANY things I’ve learned trying to create an MMO; too much to list here. But if you have any specific questions please ask, and I’ll tell you how I approached it.