RPG MMO Server System for UE4

Hi Dartanlla,
How can I try the OWS?
I tried to access the discord channel but it’s not available anymore.
By the way i was doing a D&D platform to play with friends online too.

Thanks in advance!

[USER=“1106680”]Kane Blackmoor[/USER] Here is the link for the Discord server: SabreDartStudios

I added an automated way to get set up with access to try my Open World Server system (OWS) software. So for anyone who wanted to try it out, but didn’t want to contact me, here you go: FreeTrial

Do you think this can handle 8v8? Use of continuous collision detection, physx and high speeds.

@MikeRPG

The OWS system does not modify how UE4 works in any way, so you are still free to use any UE4 features such as collision detection, physx and high speed combat. We are currently building a Fantasy MMO Action/RPG using this system and we use real-time physx collision for realistic weapon combat.

While the OWS system has many features geared toward open world RPG’s, at the base of the system is a UE4 instance launcher. Here is how you could use it to handle 8v8 matches. Create a group of 16 players using the OWS group BP nodes. Assigns players to teams using the TeamID field. Then use the Launch Server Instance BP node to spin up a new UE4 server for that team of 16 players. You will get a callback when the server is up and ready and then you can transfer your players to that server instance. After transferring the players to the new server, use the persistently stored TeamID field to assign the players to their teams. The server instance is tied to their group and is only accessible by people in that group. This kind of setup should work for many styles of MOBA games.

Ok thanks for that. Specifically what I’m looking for is a system like Dark Souls where players can drop in with their instanced data and leave while the single player actors see a seamless transition between online and offline.

A character with stats, a spaceship, a car, a hoverbike and a character inventory all can be imported by the dropins. So each character will have their own instance when they activate multiplayer and then other players can dropin with their vehicles and leave while the “host” character remains. Then the instance ends but the player remains in their original world. This while using world composition.

Do you think your system could work for that? My concerns are on how to store single player variables while allowing the players to bring their items into multiplayer. I don’t want to force mandatory online, the online is basically co-op to help the less skilled players progress through the game but still allow for some invasions and online versus for those who wish.

Yep, so what you are looking for is player self-hosting. My system currently hosts all of the server instances on a server farm that you create. By using this dedicated server farm you have complete control and you can stop players from cheating. But they have to be online all the time. So what you want to do is have the players host their own instances. This will allow them to play in offline mode against their own local dedicated server which can also be made public over the internet to allow their friends to pop in and out of this server instance. You would still want to store all your character data on a central server (OWS in this case) so that the information is available for players to join any any other server instance. This would allow characters to bring their stats, equipment, character customization, and inventory into any game they join.

You can do this today with OWS for development purposes by running the World Server app on each player’s client. This allows them to host dedicated servers. When you go to publish a game you would want to build this into the game launcher. I have plans to do this, but if I didn’t you would have to move the code (a few lines of C#) into your launcher app. You would also need to use uPnP to open up the ports needed to allow external players to connect (as players are not usually smart enough to enable port forwarding).

Sorry I haven’t heard of OWS yet. Is that the server you are using for your plugin or a pre-existing system inside UE4?

@MikeRPG

Sorry, about that. OWS stands for Open World Server system and is the product I built. It consists of three server components. A database server, API server, and World Server. The database server and API server work together to store persistent data and manage running UE4 instances. The World Server is used for launching UE4 server instances remotely. During development you run it on your local PC and in production you would have it running on each server in your server farm.

For your game it sounds like you want the World Server functionality to run on each player’s PC. This would allow local offline play along with online play as well.

hello!
i see the system is still not for sale. i have 2 questions:

  1. when will it be for sale?
  2. do you also include the source code? in case we want to add/remove features from it.

@eolet

The OWS system has been for sale for about 6 months and many people are already using it to build their games. I just haven’t been actively marketing it.

The publisher license includes full source code so you can make changes as needed.

If you want to discuss it further I am usually on Discord. The link is a few posts up.

Thanks!

sorry for the misunderstanding, i was looking at Purchase and it said “coming soon” this is why i thought it is not ready yet :slight_smile:
i was afraid this is only some compiled ready made solution, which has too much extra stuff for me and i just want the skeleton of it. but if source is included, i am a happy camper and interested.
i am already on your discord, i will drop you a message when i get home. thank you for the answers!

@eolet

Yeah, I really don’t like systems that force you do do things their way as I like to do things MY WAY. I think it is a programmer thing :wink:

What I have done in OWS is give you a collection of BP nodes that you can use or not use. So you get to choose exactly what features you want or don’t want. There are a few minimum required setup pieces to get it up and running though. You need to inherit your Character class from either OWSCharacter or OWSCharacterWithAbilities. The second one is if you want to use my modifications to Epic’s gameplay ability system. Then you need to inherit your controller from OWSPlayerController and your GameMode from OWSGameMode. All that this does is allow your game to accept incoming parameters on the command line which are required by the OWS server instance manager.

The OWS Starter Project is using many of the optional features, but it is easy to gut it and remove all the extra junk or just add the C++ code to your existing project and never enable the optional features in the first place.

Feel free to contact me on Discord anytime and we can workout the best strategy for your implementation.

Hey Dartanlla,

This looks promising. Do you by any chance have a interest management system in the road-map? Mostly this is for optimisation and probably allow you to get more players per instance.

Hi @Deadbeat

Interest management is kind of outside of the scope of this system. I use UE4 servers to run the entire backend and UE4 already has a network relevancy system, so I suggest using that to increase the number of players you can support per server. Epic gave a talk at GDC a few days ago on how they optimized Fornite to run 100 players and they talk a little bit about things you can do to optimize for higher player counts, so I would take a look at that as well. There is nothing in my system that deals with any of these issues as player clients don’t connect to my system, My API is only accessible to the server instances themselves (for security reasons).

Thanks!

I did a training session yesterday on using the Gameplay Ability system to create combat systems for your game and this time I remembered to record it. Here is a link to the video in case anyone is interested:

OWS has been updated to 4.19 and is now a plugin. This will make it much easier to add to existing projects and to push updates. You can download it here:

http://rpgwebapi.sabredartstudios.com/Docs/Install

If you don’t have an account, you can set one up here:

http://www.sabredartstudios.com/Marketing/FreeTrial

For those that only want the core features of OWS (server instance management and character persistence), there is a new OWS Core version of the plugin:

You can download it here:

http://rpgwebapi.sabredartstudios.com/Docs/Install

I also recorded two new training videos:

How to Setup OWS

How to Add a New Map

Please sell system men for Marketplace (:.

Sell WebPanel + Server + Projet full store unreal engine please.

Hi @NessimSAYOUD

At this time I don’t have any plans to sell this system on the marketplace. Since it isn’t written using UE4 and is C# and T-SQL, I am not sure if Epic would even accept it on the marketplace. This product is for sale directly though. Many studios are already using it to build their next multiplayer game in UE4. If you have not already tried it out, you can try it out here:

http://www.sabredartstudios.com/Marketing/FreeTrial

If you have any questions, let me know.

Thanks!