Announcement

Collapse
No announcement yet.

PRO/MMO Foundation. Free, open source, multiplayer tools built to scale.

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • PRO/MMO Foundation. Free, open source, multiplayer tools built to scale.


    Multiplayer tools for persistent worlds.

    TLDR; Free*, Open Source, Hosted, MMORPG template built to scale.

    Demo


    Walk-through


    Included MMORPG features
    Abilities
    Inventory
    Action bar
    Characters
    Chat
    Friends
    Recent Players
    Party
    Player owned vendors
    Player data persistence (exp, level, abilities, inventory, ui, etc)
    Server persistence
    Server connections (travel)
    Server instances (dungeons)
    Server shards (horizontal scaling)
    Server management


    Features I left out
    I focused on the primary MMORPG features that require a back end. Features that are important, but are handled directly in-game I did not include. Like: AI, Crafting, Combat, etc. These things you can handle on your own, to meet your game's specific needs.

    Detailed feature descriptions

    Abilities
    Abilities are persistent on a player. When logging in, players have the abilities they had when they logged off. This is using the Gameplay Abilities Plugin, but could be easily adapted to other ability systems like Able, or your own custom system.

    Inventory
    This is also persistent. Players have the usual grid inventory tools, split, combine, reorder, etc. Inventory capacity can be adjusted, for bag upgrades, or special perks. Create any number of inventory items, and assign arbitrary attributes to them. A master alchemist could make a more powerful potion than a beginner for example.

    Also, if you have your own inventory system that works with your game, you can totally use it.

    Action Bar
    Mapped to the keyboard, this is a standard "hotbar" where players can place abilities and reorder them.

    Chat
    Basic chat and chat channel support. Channels are automatically created for party, guild, server and match, and channels can be created and joined arbitrarily as well.

    Characters
    Players may create select and delete characters, which have their own sets of persistent data.

    Friends
    Standard friends support which shows current game playing, server or match location, and online status. Invite friends to a party from here.

    Recent players
    Shows the most recent players that you've come in contact with. Invite players to your friends list from here.

    Party / Team
    Group up with players for questing, dungeon runs, or raiding.

    Player owned Vendors
    Placed vendors in the world handle trade between players. Items can be put up for sale by the owner. Also offers can be made to the owner by other players. Persistent.

    Player Data Persistence
    All information related to the player is retained. A player keeps all of this data when traveling across servers, or going offline.

    Server Persistence
    All placed objects in the world are retained. This is using Rama's save system, but any save system that writes a data file can be used.

    Server connections
    Travel between servers. Use this to extend your world beyond the single server limitation.

    Server Instances
    Create dungeons, raids, guild halls, and player vaults which instantiate themselves automatically.

    Server Shards
    Automatically create servers to handle increased load

    Server management
    All servers are controlled and allocated dynamically. Servers which have no players are saved off, and disabled. When a player wants to use the server again, it is recreated. Keeping servers offline when not in use saves money, and is an important scaling feature. The ability to bring up new servers nearly instantly, makes adapting to a rapidly changing player base possible.


    *All game code, and the UETOPIA plugin are open source, and free. You are still bound by Epic's license agreement. The back end is free to use, but must be configured correctly or server up time charges may apply. Follow the walk through to get set up.


    This is beta! The code base is stabilizing, and there are no unresolved issues. However, there may be undetected bugs, that will require fixes. Additional features and functionality will be added as they become available.


    I'd love to hear your thoughts and comments!
    Last edited by UETOPIA; 04-19-2018, 01:15 PM. Reason: Added the link for the 4.19 walk-through

  • replied
    New functionality just added: Use offers, vouchers, and badges to grant access to specific game modes, servers, or functionality in-game.

    Leave a comment:


  • replied
    Originally posted by kenreed View Post

    Is there a way to not use your servers and use our own?
    You can use your own servers (or any third party servers), but you miss out on all of the server management features of the backend.

    It appears that your game is match based. If so, it might be worth looking into pro/eSports for managed matchmaker which will scale automatically.

    Leave a comment:


  • replied
    Originally posted by kenreed View Post
    Am I right in assuming at this point that Unreal is unable to handle multiple world maps and 500-1000 players on a single server?
    Sadly, no. You need to either use a service like gozu mentioned, or do horizontal scaling like you are currently doing. Take a look at the multiplayer scaling video I linked on page 4 for more information about how we do scaling on the uetopia backend.
    Last edited by UETOPIA; 11-18-2018, 01:30 PM.

    Leave a comment:


  • replied
    Originally posted by BraindeadFounder View Post
    In the tutorial you host your servers locally how would that work for when we wan´t to invite friends or others into our games?
    Hosting servers locally is purely for development. Once your dev and testing is complete, the servers are managed dynamically by the backend.

    Leave a comment:


  • replied
    Originally posted by kenreed View Post
    Am I right in assuming at this point that Unreal is unable to handle multiple world maps and 500-1000 players on a single server?
    I would suggest that SpatialOS is worth looking into for you, if you haven't already, and the new "Replication Graph" is something you will want to check out. Those sort of numbers are not something that you would do on an unmodified ue4....

    Leave a comment:


  • replied
    Is there a way to not use your servers and use our own?
    We were exploring using Unreal for our next MMO after seeing Fortnight but this thread has really made us step back due to the constant mentioning of the 'limitations' that the engine has.

    The 'engine' our current games is using was developed over 15 years ago and took quite a while to complete. We were looking at Unreal in order to speed up development of our game and implement it with the latest graphics much faster than we had done before. When you get my age, you just want to work smarter. These tools seem like a big plus that they would make things much faster to develop, but now we are questioning if the engine is even capable of doing what we require.

    A single dedicated server hosted in a Tier III data center is a linux machine with dual E5-2650 (24 cores total) and 64GB memory.
    We run 20 persistent world maps and 46 squad based 'instances'.
    We are in the process of adding 12 more world maps and 7 more instances.
    10TB bandwith
    We have just over 4500 accounts/players
    At any one time we never have over 500 players but could easily handle 1000.
    We have separate servers for website and patch server

    Am I right in assuming at this point that Unreal is unable to handle multiple world maps and 500-1000 players on a single server?

    Leave a comment:


  • replied
    In the tutorial you host your servers locally how would that work for when we wan´t to invite friends or others into our games?

    Leave a comment:


  • replied
    Hi Jprules.

    Yes. Total player count per server depends on your game, and there is no way to determine a number in advance. This is purely an engine limitation.

    UETOPIA provides the infrastructure to scale horizontally, through shards and instances. So you'd still be able to scale your game regardless of how many players each server can handle.

    Take a look at this video where I describe scaling on UETOPIA. Please pardon my horrible handwriting. =)

    Leave a comment:


  • replied
    Hello, this seems very interesting as I am finally ready to move into UE4 networking. I don't expect to have thousands of players interacting with each other but I want to know how far you could scale your solution for authoritive dedicated servers where you would have a bunch of people connected to a world and sometimes a good number of them fighting each other while saving datas such as abilities, monsters dieing and respawning etc.

    But I am guessing in the end it all come downs to how efficient you code the behaviors of the server to replicate datas only to relevant players etc?
    Last edited by Jprules123; 10-27-2018, 03:11 AM.

    Leave a comment:


  • replied
    Version 00017 committed to github and deployed to the live demo.

    This version contains a couple fixes for server to server travel, including one that could crash the server. Also a new portal visual using UnrealCG's portal tutorial (https://www.youtube.com/watch?v=HobKiwNHNxc).

    Leave a comment:


  • replied
    Originally posted by Merries View Post
    For an MMO Gamer and Intermediate user of various game engines, this is a server hosting solution with a small percent of sales, similar to Photon, with expandable templates, Also, you have a player management backend including money options, is this all correct?
    I have not used photon, so I can't comment on it specifically. Yes, all of the features you listed are available to use. You don't HAVE to use all of the features, though. If you don't need microtransactions for example, you can just ignore it.

    Originally posted by Merries View Post
    Looking over the documentation and video's are very high level and unless you're very familiar with the technical aspects of the templates and networking it's being presented at too high of a technical level. Perhaps have someone assist in bring this down to a less technical level for the many Developers who would like to build out a template and have a fully hosted solution.
    Yes, this project is not very beginner friendly. You have to be able to build the engine from source, and you should be somewhat comfortable working in Visual Studio. Most of the logic and data is BP exposed, but you'll still need VS for configuration, building, etc.

    If you are brand new to the engine, my advice would be to start learning the internals of the engine first. Work on assets, landscapes, etc. Then, once you are comfortable with the engine, take a few hours to build out Pro/MMO. Once you have the Pro/MMO template up and running, you can migrate your assets in.

    Originally posted by Merries View Post
    This is an excellent project and much needed, thank you.
    You're welcome. =)

    Leave a comment:


  • replied
    For an MMO Gamer and Intermediate user of various game engines, this is a server hosting solution with a small percent of sales, similar to Photon, with expandable templates, Also, you have a player management backend including money options, is this all correct?

    Looking over the documentation and video's are very high level and unless you're very familiar with the technical aspects of the templates and networking it's being presented at too high of a technical level. Perhaps have someone assist in bring this down to a less technical level for the many Developers who would like to build out a template and have a fully hosted solution.

    This is an excellent project and much needed, thank you.

    Leave a comment:


  • replied
    Anther short demo, showing lobby server list, and player-initiated server launch.

    Leave a comment:


  • replied
    Another short demo. I cover groups, and how they are implemented in this video.

    Leave a comment:

Working...
X