MMO Starter Kit

The new release is available on Sellfy!

1.1 Release notes

Special thanks to qdelpeche for several security ideas that were implemented!

Modular characters

Characters can now consist of body parts. Items that change the appearance of characters can be equipped, unequipped and swapped.

Pressing the C key opens up the equipment window where character doll and equipment can be seen.

Droppable items

Items can be flagged as “Droppable” that allows characters to drop those items to the ground and pick them up

Item Quality

Items can now be of different quality (Poor, Common, Uncommon…) It affects the color of the item’s title in the tooltip.

Better Security

  • added protection from sql injections to all php scripts
  • passwords are stored securely with the help of the new PHP 5.5 encryption
  • all registration fields are now cleared after a successful registration. After a failed registration, both password fields are cleared.

Ported to Unreal 4.7

You will need the new release of UE4 from github to work with the updated kit.

Other features

  • A draggable window base widget has been added that allows you to create your own draggable windows
  • Draggable windows now appear on top of others when focused
  • db connection settings have been removed from all php scripts and placed in a separate mmoconnection.php script, so you only have to change it there
  • added simple email validation that checks if email contains a @
  • added password validation - password has to be at least 6 characters now
  • Item tooltip now lists the item’s quality and armor stat (for equipment)
  • Item tooltip is displayed next to the item now, as opposed to always in the same location
  • adjusted ui scaling curve so that the UI looks good at lower screen resolutions, such as 1366x768
  • respawn location is now where the Player Start actor is (previously you had to enter the coordinates in the blueprint)
  • New blueprint nodes: ClampVector2D, GetPosition and GetSize (for UMG widgets), and a node that gets the default material of a skeletal mesh
  • Changed the default UI fonts for a slightly more stylish look

Bug fixes

  • removed json header line that was causing an error on some servers
  • fixed a registration bug when the username was already taken
  • fixed a bug with logged in characters not respawning if they were dead at the time of logout
  • movement and mouse look are now disabled in the main menu
  • main menu UMG panels use the eye button now for visibility, and not the scale = 0 workaround
  • fixed a bug in the patch system that didn’t allow the patcher to delete the files that were removed in the new version
  • reduced the project size by 400MB by removing extra materials and textures (desert map is still there for now)
  • removed unused C++ classes

Demo server changes

  • Users and characters have been wiped
  • Bandits now drop three equippable armor pieces
  • Ancient Tome can now be dropped and picked up
  • added jump animation to the demo sword girl character

Nice, I was looking for the 4.7 update before I purchased it. Ty sir :wink:

One small thing though. Could you include in the name of the download the current version? Ex: MMO Starter Kit for Unreal (4.7)

The updated version is up on Sellfy now! The documentation has been updated, while the old documentation is still available from the link in the first post. Since the update is so big, don’t hesitate to contact me if something is unclear in the docs of if you come across a bug.

Hi, and thanks for your interest in this. :slight_smile: The new filename is mmo-starter-kit-for-unreal-4.7.zip

Oh awesome!

Love the better security and new features :smiley:

Glad to see the update is live, I too waited until first update to make a purchase and will be acquiring this kit promptly.

Thank you for all your hard work !

Noticed a few things with the update. Anyone else seeing any of this?

  1. GameHUD is getting the PC’s MaxHealth as 0, and as such, not populating the health bar or text overlay correctly.
  2. Auto-attack reports “too far away” immediately, regardless of proximity to target, and never fires.
    2b) PC’s CurrentTarget is showing unassigned in the Details pane during PIE.

Hi, it seems to be a bug with Unreal - [4.7] - Defaults are zeroed out upon BP Construction - Programming & Scripting - Epic Developer Community Forums , you can comment there if you’d like, I hope this will get fixed soon.

As a workaround you have to zero out the parent’s variables (MMOModularCharacter) and override them in the child (GuyModularPC), the variables that are causing this are MaxHealth, AttackRange and AttackPower but it’s best to do it for all important variables.

It’s normal, this is because CurrentTarget is not replicated and the Details tab show server-side info. You can Eject to see client-side info.

I had a feeling it’d be something like that, looking over the Blueprints. Everything looked solid.

Wasn’t sure about that one. Just seemed like it might be related, since other values had gone missing. Thanks!

Hi, When I am starting it up for the first time. I get to the part in your Docs that say to register and create a character. I can register just fine, but it doesn’t let me create a character for my first character. So I am stuck there.

Really loving the update. Do you think it would be a pain in the butt to implement player to player inventory trading? It’s not really a request, I’m more curious than anything. I’m more of an artist, so I wouldn’t really know.

As for webhosts with PHP 5.5, it’s hard as hell finding one that isn’t 5.3/5.4. Not to mention I’m cheap, so finding a free host was even harder. I did find x10 have PHP 5.5 on their free hosting though, and it seems to work just fine, if anyone is just as cheap as me. Just remember, no remote SQL access so your DB hostname would have to be localhost.

Pardon the questions / requests if they have already been implemented… I haven’t had the time yet to look through the project :stuck_out_tongue:

  • Is there a way to set up a “spawn volume” instead of specific locations of bandit spawns? Basically, “a bandit will spawn anywhere in this volume”; the reason I ask is if you’re making a large world, with a good amount of npc’s, it would be a huge PITA to manually place each mob

  • Player respawn, random location that is within 4 meters of closest XYZ object/respawn point. The logic should also determine if that coordinate is already occupied, and if it is, then choose another random coordinate within that area.

  • Player Auction house / Player to player Trading / NPC stores… speaking of stores, any idea how to implement pay2win… err… i mean… functionality to allow players to purchase something through e-commerce website (or in-game) and have it sent to them in game? See guild wars 2 for idea on what i’m talking about

  • Highlight selectable/actionable item or npc on mouse over, target item/npc (so if you look to the left, your still shooting/fighting what you have targetted). I know there’s a tutorial on this, but this is the end of the post and I have to get to my day job!

@Warwolf

Could you share what webhosts you’ve found that have PHP 5.5?

I use SiteGround. They have 5.5.17 and 5.6.3 available. Be warned, though, they do billing on a year-to-year basis. It works out to a nice monthly rate, but it’s a bit spendy up front.

You’d probably want to do your spawn points mostly by hand anyway. Spawning within a volume is likely to result in actors spawning below the walkable terrain, or falling from the sky.

Respawn within a range wouldn’t be to terribly difficult to implement. BreakTransform, Add a FloatInRange, MakeTransform, use as respawn transform.

An auction house is probably a little beyond the scope of a starter kit, but I wouldn’t presume to speak for on that.

Material highlights are already added, actually.

Congrats with free UE4 guys! :slight_smile:

Great job on finding a free PHP 5.5 hosting, I didn’t know it existed! I’ll add this info to the documentation, so let me know please if there will be any issues with x10. I’m using PHP 5.5 because it has some very easy to use and efficient password encryption that can even change the encryption method over time as new and stronger algorithms are added to PHP without having to modify the original script.

I have to agree with soctty here, most MMOs set spawn coordinates by hand, furthermore, in WoW they set the roam waypoints manually as well :smiley: (players could check the fixed roam coordinates on sites like wowhead). However, you could implement spawning NPCs in a volume - I would start by making a clean TPP project and getting this functionality to work before porting it to the mmo project. You could try using ProjectPointToNavigation or raytracing for the ground so they don’t appear below or above the terrain.

Those are not difficult to add yourself if you watch the official tutorials on replication. It’s possible they will be added to the demo in the future.

This is more of a general UE4 blueprints question, it can be done rather easily with some line tracing.

Already implemented for the NPCs - same principle as in WoW, the character continues auto-attacking while you can rotate the camera.

Hi, contact me on Skype please () so we can fix this faster.

thanks for the info :slight_smile:

/goes back to modelling a cathedral of sorts :smiley:

Thank you Soctty!

Great work ! I’ll have to check it out later this week. I’ll report back any bugs/fixes i find/have.

Hey -

Have you considered selling the systems (XP,Class System, Player Customization, etc) for the MMO kit for Single player games?

Currently the marketplace is rather devoid of any single player RPG solutions. :slight_smile:

Just curious,

HeadClot

Hi,

I prefer to focus on MMO Starter Kit, I wouldn’t be able to provide quality updates and support if I spread my focus between several packages. There are many people who have enough knowledge to make a single player RPG, so I would expect more kits appearing on the Marketplace soon.

Honestly, you could just Google something like “PHP 5.5 hosting” and come up with plenty of results. x10 was pure luck, since I’ve used them before.

As far as I can see, no issues at all, everything seems to work as it should. The only thing I would say is keeping an active account, though I would assume that’s a given really.