MMO Question

This is by no meens a post saying that im gonna make an mmo, or make one that will put wow out. Instead what does it take to make one, as far as software goes? I know you have to have methods to saving the relivant data to a database, epic networking, but as far as rendering goes i beleive unity could handel it.
I am in the process of writing a dll in C# that will add mysql support into unity, so the next question would be, networking. I am aware that Unity indie cannot use its own networking to make dedicated servers, however my recent ventures into this beg to differ for now. What makes pro different though? Does it have its own dedicated server, or just the ability to specify what net id’s go with what?

You can write a dedicated server in any language and use sockets and IP support in c#/JScript in unity to communicate. Then use the dedicated server to talk to the database on the server machine and clients, then just send queries in your own seudo-code to the server and the server responds with simplistic responses.

That is the best I’ve come up with yet in Unity for any server. MMOs differ only in scale and complexity really, so you need to be more aware of efficiency and really heavily plan the project before you start working.

Ok so the basic concept the client sends the login details “Encrypted” for security reason obviously, and then the server takes this and checks the database itself, then if its correct it lets you continue.

Yes that is the start. lol.

Now whats the deal with unity pro having a dedicated server, but standard doesnt. Whats the difference?

unity pro has no dedicated server, just headless client mode which means no rendering and sound.

without pro you will always get a graphics window that always will initiate a gfx context and it will always initiate sound

so another words i have as much luck making a dedicated server in standard than in pro without making or using a different net library

for an MMO server unity is not remotely suitable.
Its structure and component focus is a total overkill.

that the network is only target at smaller scale multiplayer without the possibility to scale just adds on top of that.

wasnt asking if it was suitable, i know that id have to use something else or make my own for that matter just a dedicated server in general

pro is probably better because there are some great third party plugins that easily allow very scalable servers. Also have shuffle about in UnifyWiki on Scalable servers.

most of these scalable solutions offer .net libraries and are usable from indie too, Project DarkStar for example.

also porting C socket based libraries (which is what some of these systems base on for networking) are pretty straight forward to port to C#

I tried for 2 months to get DarkStar to work in Indie and after sending many emails to Unity they responded that it wont work in Indie, I need to buy Pro.

So you do need Pro to use any of those third party programs.

???

sure you tried the c# .net wrapper for the networking not the c?

technically there is nothing preventing you from doing one in the free unity.
practically its a pretty bad idea. no asset bundles, no vcs, no asset server? skip it for anything other than a phantasy star online alike “instanced level + lobby” mmo

Yes.

Libraries will not work in Plugins in Idie 2.6 you need to purchase Pro. Only simple c# scripts will run in Plugins.

unmanaged plugins will not work but .net assemblies if they are .net 2.0 will work independent if Unity or Unity Pro.

I listed the various systems you can use in the other thread on the topic.

you don’t need C++ / C dll libraries for that (will not work in webplayer or on osx anyway)

but the main reasons why the free unity (there is no unity indie) is not suitable for an mmo are the missing asset bundles, missing vcs and naturally that doing a fullscale mmo in less than $250k is unrealistic

Well we had a team who tried for months and couldn’t get any of them to work in Indie. We had some running sort-of in Pro but there were millions of errors we had to solve to get DarkStar working in Pro. Even then we encountered so many issues we deciced that it was actually easier to make our own Unity specific scalable client-server (mostly in python in the end). We have used DarkStar outside Unity without any hassles. So it is all Unity related issues.

Unity would not recognise the Plugins folder at all in Indie 2.5.1 (and 2.6) until we dropped a blank c# script into it. Which fits with what I got in my email from Unity Support.
If you have managed to get it to work I’d love to know how.

You don’t seem to understand the major difference between .net assembly and unmanaged dll if you still hack around on the plugins folder.
for .net assemblies its not needed at all

We used .net assemblies.
It didn’t work.
Unity (Pro) had thousands of errors with DarkStar alone. Unity Indie cannot even see it.

If Unity didn’t recognize it it was no pure managed .NET 2.0 assembly (stuff like intermediate wrappers to C / C++ dlls and managed C++ assemblies are not managed assemblies. they are still unsafe and unmanaged as they call into unmanaged memory)

As mentioned, photon, sfs pro, neutron among stuff like path, behave, a* path find and GUIX all use .net assemblies and all of them work so the fault is clearly on your end if Unity does not show.

the fact that unity pro brought that many errors sounds like not only the code being unmanaged but likely also using stuff thats not part of mono 1.2.5 or .net 2.0 at all

We just downloaded them and followed the instructions found on UnifyWiki. If it is wrong then the Docs/Unify wiki needs fixing.