RPG MMO Server System for UE4

Music to my ears my friend! I work for a Fiber Internet company by day, and build games with co-workers/friends by night. Haha. We enjoy playing all types of games but there is something about MMOs that just brings people together. Its like the ultimate co-op experience. I don’t like to say we are making an MMO because people get really shifty about those words and the costs/team sizes behind them, but I’d call it a Persistant World Multiplayer RPG.

Considering what the evaluation presents you can probably count me in for a day one buy. But a side question would be how hard would it be to do a custom chat server that works with the Advanced Social System. I’d have to say its a pretty spot on system for use with this kit as it emulates World Of Warcrafts Chat/emote system very well. I beat my head against the wall for weeks trying to get it to work with the other kit before giving up.

Ninja Edit: is this 100% C++? or BP/Exposed?

@Dartanlla

Sorry for the delay got lost in other posts and sorting things, shame to hear about linux but MS server licences have come down since i last brought a server so will definitely keep this in mind whilst moving forward. keep my updated on the instance servers and also if you manage to include the chat server

@Dartanlla
love the licensing idea. does the 100$ license include the 50$ perks? Id be more than willing to grab the 100$ license off the top if it does.

I’m assuming that you will have a standard VM setup that will handle a reasonable number of users, but how would handle spinning up the needed servers if a group has a large number of zones that are in development? Since this is a MMO environment, lets say I have roughly 20 different zones that are all in “development”. Is your infrastructure setup to handle this for multiple customers? Is there a “cut off” that u have in mind? I’m just trying to help you plan ahead on this. This is my day job as a programmer/system designer :slight_smile:

any idea on these costs? do u have a “default” launcher planned for this already?

@Arixsus

Persistent World Multiplayer RPG’s are better than MMO’s in my opinion. The Persistent World Multiplayer RPG I have been running for the past 6 months with this server system is for just four of my friends and it has been A LOT of fun! We played for 10 hours straight this past Saturday :slight_smile:

I have not looked at the Advanced Social System, but it should be fairly easy for you to integrate with if that chat system supports blueprints. I give you the following blueprint nodes to interact with my chat server: GetChatMessagesForPlayer, AddChatMessageToChatChannel, JoinChatChannel, LeaveChatChannel, and AddPrivateChatMessage. My guess is you could just insert these nodes into any chat system you want to use. I will be including a simple WoW like chat system in the Demo Project to show how the chat server blueprint nodes work.

My code is written in C++, but is meant to be used entirely in blueprints. I follow the same pattern that Epic uses for blueprints and C++. Do all the heavy lifting in C++, expose what you need to blueprints, and then use blueprints to hook it all up and configure it.

@Smartay

Yeah, luckily most virtual hosts now charge the same price for MS or Linux (I use 1and1 for my VPS).

The chat server is already finished. If you scroll to the top of page 2 of this thread there is a video showing a demo of it.

@Chieling

Yes, the full license will include an API key to use my management sever so you can get up and running right away.

So there are three components to this setup. The login/management server, the world server(s), and the UE4 client. With the developer license I am letting you use my login/management server, but you are still responsible for the world server(s). For most developers this will just be their local PC. The world servers are actually running the UE4 server instances that the UE4 clients are connecting to.

Initially you would probably just develop on your local PC and then later when you are ready for an early alpha test you can spin up some virtual servers at a hosting company to act as more permanent world servers to test with.

As far as limits on the developer license, I will not be limiting the number of maps or zones, but I will be limiting the number of players/characters. The number I have in mind is somewhere around 50. I believe that 50 is enough to develop an MMO as a hobbyist and play with your friends, but when you have more than around 50, then you are probably publishing the game or doing a large alpha test at which point you will need a full license and your own infrastructure.

The consulting would probably just be an hourly rate. I don’t currently have any plans in mind for a default launcher. I assume most released games will want their own custom launcher to handle their game updates anyway, but it may be something I look into more. We’ll see.

Quite a few already shown up here in forums starting this same project.
But then one day they realize replication system was designed for multiplayer shooters and your server will never ever be able to hold 1000+ players connected once you also consider AI, collision, physx, etc; thus it will never be massive.
So I can’t see the point here, really.
Unless you provide your own Networking layer, Online Subsystem, custom UNetDriver with server side software capable of perform inter-server data transfer and simulating the things above like default dedicated server does, multithreaded and generating network regions where players seamlessly go in and out to automatically save bandwidth… Then it isn’t massive networking at all and using “MMO” to name it makes no sense.

If this is just using default dedicated server, then why bother imposing 50 players limit when the final product won’t go much farther than that anyway?!
Take 150 players, connect them to a UE4 dedicated server and see what happens.
You can split the regions by “channels”, instances of the same map, yes. But then it isn’t MMO.

Btw, Lineage Revolution is a mobile MMO running on UE4.
They use a commercial “true” MMO middleware which supports UE4 through the plugin interface;
It costs anywhere from $3000 to $50.000usd (depends on the license you choose) and can handle thousands of players online on the same UE4 server even for those running the game behind WiFI connection.

I explained up front the limitations of my system and that this is really a pseudo MMO system. However, the tools I am giving UE4 game developers are something that most would not be able to easily create on their own. The architecture I am using is more similar to games like Star Citizen and Planetside 2 than World of Warcraft. It may not be a true MMO depending on your definition, but you can still create great games that support thousands of players with my server system. They may not be on the same map at the same time, but I think MMO’s are evolving to the point where people realize that action oriented combat with a few dozen other players is better than the pseudo combat (glorified dice rolling) that exists in most MMO’s.

I strongly disagree with your assertion that what I have created is pointless. A player registration system, login system, persistent storage system, and server instance manager are all tools that I provide that are not included with UE4.

For those that missed the limitations section in my original post, here it is again:

What are the limitations of this system?

You are limited in how many players can connect to one map instance at a time, but you can load multiple versions of that map to support more players; they just won’t all be able to see each other. It is up to you to decide how large each map is depending on your game design and performance considerations. The transition from one map to another is not seamless, but it is fairly quick (1 or 2 seconds).

Just curious. What middleware are you referring to?

It is asian (I can’t read korean so I have no clue what it is called in english)

Looks like the Steam reviews on this are terrible and support is very bad. I don’t currently see a version for UE4. I looked at their architecture and they are basically doing the same thing I am.

Ok. Thanks.

I think we’ve deviated a bit into semantics of a word. True, its not a system that is going to give you a server size of a typical WoW server, but what it does provide as well as the others available for UE4 is a tool for those who want to save server/character/account information for persistence. Honestly, I think people have become acustom to the word and/or term MMO as not just strictly player limit, but again persistence. For example take a look at ARK:Survival Evolved. It states that its an MMO right on the side panel, but is it? Does a 70ish person server size justify it as an MMO? Sorta. Because its larger then 4-8 and it has persistance. Hell even Diablo 3 in the simplest form has been considered an MMO, but you never see more then 4 people except for chat which breaks that barrier.

I think its up to people to educate themselves on what engine limitiations are and what they want it to do. I don’t expect or plan to make the next WoW, Rift, Tera, EVE or what ever other big budget true MMO is out there. I want something smaller… way smaller that offers a way for players to save data when they logoff and restore data when they sign on. The ability to form a group from a social zone and then dive deep into dungeon to get that fat loot which if you think about… That is what Guild Wars one was. But mine is obviously not as grand and I don’t expect it to be. Its a way for me and my co-workers/friends to roleplay in a world we created.

But I digress - [MENTION=6662]Dartanlla. Since you are getting rid of VaRest and are currently building something internal are you still going to use external script calls to push/pull data from SQL? Sorry to ask so many questions. I’m just trying to get as much info as possible to know what to expect!

As for Advanced Social System. I highly recommend it even for small scale use. It has an easy to use command system which could be adopted and enhanced to do quite a bit, the included guild/party system is a great and the say, yell, area and zone chat are neat.

I think the part that would probably be the most difficult to set up would be getting groups to work cross server and maintain parity via the chat server.

My team purchased it for Unity(which we despise) a few years ago. Updates were slow, support/third party support was nowhere to be seen. We dropped it shortly after and just bit the bullet on money wasted. But thats the price of a passion project I guess? :stuck_out_tongue:

As I said, I don’t know its page because I don’t remember what it is called (something Korean).
But it’s a lot like “BigWorld” networking framework, if I remember the name of the thingy I google the page.

@Arixsus

I agree. MMO means more to me than just a size of the number of players who can participate in a single battle. For me the biggest thing “MMO” says is persistent worlds. Ever since I played Grand Theft Auto 3 in the year 2000 and realized that things you aren’t looking at disappear I have been interested in creating persistent worlds.

I am converting the VaREST calls to direct HTTP calls. This doesn’t change how it works at all. All it does is remove the dependency on VaREST. The HTTP calls I am making go to my Login/Management server which is a JSON web app written in .NET with MVC. It is hosted using Microsoft IIS on a Virtual Private Server I rent. This server handles all of the persistent storage and also manages all of the world servers. I hope this answers your question. I am not 100% sure what you mean by “external scripts”.

Sorry to hear you got burned with that other MMO server software. I really want to make sure that I am clear about what my system can do and what it can’t do. I have discussed my software in more depth with a few UE4 users over Skype and I extend that invitation to anyone else who has more questions or wants to know if it will work for what they are building. Just send me a PM.

I wonder if its a modified version of Atlas for UE4? Thats what they used to use for L2(I think).

@dartanlla - Right on. I might take you up on that offer :stuck_out_tongue:

I too still Love Table Top RPGs. Would love to see a different type of Computer RPG, perhaps a Multiplayer Table Top RPG 3D Simulator? :cool:

I personally did not have an issue with VaRest Dependency afterall the VaRest plugin is FREE and I have it installed. If that code was left in, I could extend on that BP code for other HTTPS requests. However, I’m always in favor of performance. For a high level protocol I’m using a JSONRPC2.0 Spec HTTP payload for request/response. If I can make custom HTTPS request w/JSON with the new system, that will be great.

I can appreciate high performance networking designed to handle action-packed twitch FPS games. So, I’m all good with the psuedo MMO capabilities. I think one can pull off a* massive* feel for 64 concurrent users with persistence, instancing, map travelling, some creative AI and rendering.

I couldn’t disagree more in regards to this project being pointless. Currently storing any sort of persistent player data for any game is a huge barrier to entry as there are very few solutions out there that aren’t expensive (with the real world costs cleverly concealed by being priced by API calls or something similar). Until Steam include persistent player data as part of the package that they provide (the latest Steam Inventory System has solved some of the problems already, everyone here should check it out if releasing on Steam is an option), projects like this I think are extremely helpful. I know I’ll certainly be keeping an eye on it for my current project, as I’ve yet to decide on a backend solution.

The bottom line is, very few people here are looking to create a traditional WoW-style MMO with hundreds of players in one zone, this is very useful for any game with persistent player data.