Hi guys!
That’s 2 weeks that i’ve started a MMO personal and for educaition pruprose project.
I’ve boosted the first,second, third and forth days to create a database (on AWARDSPACE) with PHP scritps that allows me to create, load,delete and select a character. And i’ve setted up everything in Unity, also i’ve got a nice look and organization. I was really hyped, like “i will never stop to code!” but really, now i’m losing hope.
That’s more than 1 week and half that i’m trying to do the networked part. I just have to do something when i hit “Select character”.
I’ve passed from Photon, to Unet, to MasterServer and then to DarkRift, but really, i haven’t found something that worked for me.
With Photon i just gave up when i saw that you must stay on their server, Unet Multiplayer Service too, i tried with Unet to do a server build, but really too much confusing.
I just started today with DarkRift, and i still can’t judge it, but i hope that it will be more understandable and clean.
Basically all i ask is to do a server selection like WoW relam list, and then select the character and spawn in the world.
Can you guys tell me the best way to do this? Thanks!
Seems like you are expecting some network library to do stuff out of the box.
If you want Character selection. Code it, and send it over the wire.
And Unity DOESNT host servers for you. At all. They just run Relays.
And for your actual question. This applies to ANY network library you will use.
Make them select their character offline. Then when you connect, you send a message to the server telling him your character. And maybe even how he looks, how tall etc. Then once the server got that info. He will spawn the player in. And inform everybody else to spawn that character in
It sounds like you need to take a step back and come up with your ideas for your server design. How would you like your servers set up? What responsibilities does each server have? Where is your data stored? How does the client get necessary data?
Photon and Unity Multiplayer are not services designed to run MMO’s, but are designed for connecting players for one off matches, without a central open world server cluster that is typical of MMO’s. Though they might work well for something like a World of Tanks game, I’m not sure how they could even be considered for a World of Warcraft type game.
As an example, if you went with UNet, a lot of this interaction can be accomplished with network messages. For example, you have a Unity instance as a login server, which talks to a DB either directly or through your PHP interface, and then clients connect to the server and login is handled through a series of Unet messages. After the player is authenticated, you send him/her the details of their character, etc, and then load them into the game scene, which then connects to a separate game simulation server, another Unity instance. It all really comes down to how you want your world to work as to what kind of solution you should come up with.
If you have about 40 hours available, you can watch my live stream of creating a full networked client/server architect with fully working chat system and login/registration system integrated with vBulletin forum software.