Search Unity

uMMORPG Official Thread

Discussion in 'Assets and Asset Store' started by mischa2k, Dec 29, 2015.

  1. SamRock

    SamRock

    Joined:
    Sep 5, 2017
    Posts:
    250
    Does this asset have feature to make Player and Pet Swim through water?
     
  2. uberwiggett

    uberwiggett

    Joined:
    Jun 26, 2015
    Posts:
    105
    I don't think it does but there may be an addon.

    If CE is not ummorpg v2, what is ummorpg v2 as listed in the uSurvival description?

    Also please let me know when you have actioned my refund email as I am blocked from contacting you on discord.
     
  3. blackbrosg

    blackbrosg

    Joined:
    Apr 9, 2018
    Posts:
    20
    hello guys! sometimes the cooldown of basic attacks is put in 6 seconds, for no reason, does anyone know about this bug?
     
  4. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
  5. blackbrosg

    blackbrosg

    Joined:
    Apr 9, 2018
    Posts:
    20
    guys, in some computers my project looks with two vertical black bands on the screen sides, does anyone know why?

    thanks
     
  6. uberwiggett

    uberwiggett

    Joined:
    Jun 26, 2015
    Posts:
    105
    check your resolution settings and aspect ratio for the game window.
     
  7. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    V1.187 pending review:
    • Apathy updated to latest version. Fixes a bug where a failed connect wouldn't show a Disconnected message in GetNextMessages. Also fixes a race condition when spamming Connect/Disconnects.
    • fix possible exploit where nontradeable items could be traded. IsInventorySlotTradeable now checks if item is tradeable.
    • InventoryOperationsAllowed: don't allow while TRADING anymore. this way offer indices don't change when swapping inventory items. otherwise it's possible to swap a non-tradable item into the offers. Trade would be canceled when trying to trade it, but it's still too weird.
     
    iSleepzZz and JBR-games like this.
  8. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Components Edition V2.7 pending review:
    • Apathy updated to latest version. Fixes a bug where a failed connect wouldn't show a Disconnected message in GetNextMessages. Also fixes a race condition when spamming Connect/Disconnects.
    • Documentation updated
    • fix possible exploit where nontradeable items could be traded. IsInventorySlotTradeable now checks if item is tradeable.
    • InventoryOperationsAllowed: don't allow while TRADING anymore. this way offer indices don't change when swapping inventory items. otherwise it's possible to swap a non-tradable item into the offers. Trade would be canceled when trying to trade it, but it's still too weird.
    • PlayerInventory syncMode set to Observers for all prefabs. Fixes a bug where another player's trading offer items wouldn't be shown.
     
  9. Magic73

    Magic73

    Joined:
    Jun 23, 2015
    Posts:
    132
    Hi vis2k,
    I have some question about your asset.
    I didn't find this information in the documentation. You wrote that the client and the server share 95% of the code. but in practice, I have not understood what the server / client can do / do.

    For years, I have managed and maintained one of Ultima Online's largest unofficial servers.
    I would just like to understand how much this asset differs from the model used in Ultima Online.

    Is the server an authoritative server, or does it simply manage and exchange information with and between the various connected clients?
    Does the client only take care of the graphics and user input, or does it also run the game logic? For example, are the moves validated by the server before being executed, or would there be the possibility of going through obstacles, hacking the client or the communication protocol?

    In the documentation you mention the possibility of adding scripted objects. But would it be enough for me to make changes to the server, or should I also update the clients, perhaps because I simply changed how many life points does a healing potion restore?

    Also in the documentation, reference is made to the presence of skills and the crafting of objects. Is crafting influenced by skills, and is there already a growth system?
    Or does the current skill system only provide for having or not having a certain skill?

    Is there a weight simulation system? Based on my constitution, I can carry more or less weight, until I slow down my pace and stop in extreme cases.

    What about the NPC AI is based on a finite state machine?
    Is there a patrol system, target selection system, or something else?

    I know that these things can be more or less easily added, if not foreseen. But I'm just wondering if at least a base of this is already planned.

    Thank you!!!
     
    Last edited: Feb 23, 2020
  10. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    sharing code: check out Mirror (see my signature) - and take a look at one of the examples. It's just one project with some [server] and [client] tags to specify which parts of the code are server-only or client-only. the rest is shared.

    server is authoritative server, yes. uMMORPG is 100% server auth. there is no way to cheat because every client input is carefully validated. that was really important to me because I did MMO hacking before I got into game development. I know what to look out for.

    note that my new uMMORPG: Components Edition asset supports the old navmesh based click to move movement, which is 100% server auth and cheat safe. it also supports a new character controller wasd/jumping movement, which is not server auth yet. it will be soon though.

    adding scriptable objects is very easy, can be done without any codes. you do that to add new items, skills, etc. for every change you would have to rebuild server and clients. the alternative is to send this all over the network to the client, but that takes a lot of bandwidth and is extra complicated. scriptableobjects are really the way to go, it's so easy to work with them.

    crafting is not influenced by skills. but you do get all the source code so feel free to modify.

    there is no weight simulation. the goal is to only add the core mmo features - the rest is up to you. for example, you might need a weight system, but the next person doesn't.

    NPC AI is based on a finite state machine yes. uMMORPG Components Edition has scriptable AI, so you can plug in any AI that you want as long as it works with Mirror (or do your own, or modify mine as your own, etc.).

    there is target selection yes. monsters do random movement yes. if you want then to patrol along a path from A to B, then you can create your own scriptable AI brain for that. it's not hard.

    in general I think uMMORPG will support what you are looking for. it's not one of those kits that does everything with client auth / peer to peer, because that would be silly.

    if you aren't sure between uMMORPG classic and uMMORPG Components Edition, use Components Edition.
     
  11. Magic73

    Magic73

    Joined:
    Jun 23, 2015
    Posts:
    132
    Thank you for your clarification :)

    uMMORPG is 100% authoritative. therefore the client takes care only of the graphic aspect and of having to manage the input.
    Excluding the addition of new graphics, the server-side modification of the parameters relating to the objects, rather than the game mechanics, do not require client updates, correct?
    For example if I wanted to change the damage of a weapon, rather than the algorithm that manages the speed of the movements or the AI itself of the NPCs, I can make these changes on the server side, to make them immediately active
    Is it correct?


    How about user modifications and future engine update?

    Is it possible to make changes, or additional features without touching the original scripts? This is to avoid having to deal with the changes made with each update. How modular is it compared to this aspect?
    For example: "crafting is not influenced by skills. but you do get all the source code so feel free to modify"
    would it be possible to add crafting based on a system of skills, as well as resources, without having to disassemble anything?
    As well as for the introduction of new classes, new AI, new objects and so on ...
     
    Last edited: Feb 23, 2020
  12. TheNexux

    TheNexux

    Joined:
    Feb 23, 2020
    Posts:
    1
    im getting this error anyone else? "Assets\uMMORPG\Plugins\Mirror\Runtime\NetworkManager.cs(862,93): error CS0103: The name 'UnloadSceneOptions' does not exist in the current context"
     
    robin_lxn and uberwiggett like this.
  13. iSleepzZz

    iSleepzZz

    Joined:
    Dec 23, 2012
    Posts:
    206
    Hi, @vis2k

    Sorry to bother you but in your latest patch v1.187 you stated:
    However, in the latest blank project, I cannot find "IsInventorySlotTradeable" anywhere in the project.
    Can you please help me find what was changed so I can implement this into my existing project?
    Thanks!

    EDIT: haha oh dear God, I'm sorry! I did a little critical thinking and noticed the spelling error hahah.
    So sorry!
    In the code: IsInventorySlotTradable
    In the post: IsInventorySlotTradeable
    There is a spelling error, that's why I could not find it hahahh.
    So very sorry! Thanks :)
     
    Last edited: Feb 24, 2020
    mischa2k likes this.
  14. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Try Unity 2018.3.6f1!

    Sorry about that :)

    uMMORPG needs both server and client updates when you change almost anything. It's designed this way not for inconvenience, but to save bandwidth. Of course you could modify it to sync just about anything from server to client, then you don't need to update them all the time. But it's more bandwidth and more code, not worth it imho.

    User modifications are easy thanks to uMMORPG's addon system. You can just add components and hook into all kinds of events. And if you need to modify core code, you can still do that because you get all the source.

    Most of my assets can be considered LTS mode, where they mostly receive bug fixes and performance improvements. Those are easy to add to your own project too.

    How modular: uMMORPG Components Edition is as modular as it gets (hence components edition). uMMORPG classic isn't modular, that's why I recommend components edition.

    Just try it mate. It has 194 reviews with 5* on average. Can't go wrong :)
     
  15. Magic73

    Magic73

    Joined:
    Jun 23, 2015
    Posts:
    132
    This is the only reason that is currently holding me back from purchasing the asset. an MMORPG is a dynamic environment, where it is easy to add new features, or even simply make small changes. If you need to update all clients for everything, with the rules and update times of the clients through the Stores ... it becomes a problem.

    It will be that I have the Ultima Online model "in my blood", so the clients are only concerned with viewing and managing the user input, the rest is entirely managed by the server. I understand the idea of saving bandwidth, but even here I don't know how much there can be savings. in fact if I leave objects on the ground, or the simple NPCs that move .. all this information occupies the same bandwidth in both scenarios (uMMORPG and UO).

    In this case, if I want to change the amount of HP restored by a potion, I have to update all clients even if I have an authoritative server.
    In fact, the sequence of actions should look like this:
    - client: the user drinks a potion
    - server: does the user have a potion? can the user reach it? the user drinks the potion and restores X hp, the potion is destroyed, sends the update to the client, and to all clients close to the user.

    Why should I update a client, if its functioning does not change, nor its graphic elements?

    I am really fighting about this asset
     
  16. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Unity has several features to stream scenes/assets to the user.
    The scriptableitems with stats are just that, assets.
    You could either stream them to the user when starting, or send server data to the client on start, or use SyncVars, etc.
     
  17. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,270
    Where is the uRPG updates?
     
  18. uberwiggett

    uberwiggett

    Joined:
    Jun 26, 2015
    Posts:
    105

    I would highly recommend you also check out Suriyun's MMO Kit, it operates a bit differently to this one and may be able to cater to your need. If not, your idea about the update streaming might actually be more viable with OpenMMO, which is a free system currently being developed. It already has the majority of the features of ummorpg but it's also a lot more extensible, and a streaming feature would actually be a good feature to look at suggesting for the core system. You can find the UAS version of it here:https://assetstore.unity.com/packages/templates/systems/openmmo-groundwork-161951

    but there is also a discord with the development community and github access. I've switched over to there after a few years with ummorpg due to issues with promised features for ummorpg being scrapped.
     
    o0neza0o likes this.
  19. Magic73

    Magic73

    Joined:
    Jun 23, 2015
    Posts:
    132
    just to clarify better, I am not looking for a solution for streaming. The world and the static objects it contains are managed exactly in a shared way between client and server, as is now the case in uMMORPG. What the Ultima Online client does is to have a kind of dictionary of objects in terms of graphics (like prefabs in Unity).
    So if I don't change the world, or if I don't change anything in the graphics of this dictionary (maybe because I add or modify the graphics of some objects) I don't need to update the client.
    On the server side, all authoritative logic and its configuration is managed.

    No streaming of the world is made, only non-static objects, but this must necessarily also happen in uMMORPG :)
     
  20. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    :eek::rolleyes:
     
    Last edited: Feb 26, 2020
    entropicjoey1 and Archanor like this.
  21. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    uMMORPG has no such dictionary. I don't think there is anything wrong with updating the client, you will likely end up doing this on a weekly basis anyway since you want all the latest fixes and improvements shipped to the user :)
     
  22. Chandlerya

    Chandlerya

    Joined:
    Sep 4, 2018
    Posts:
    9
    Seeing a small issue with uMMORPG CE, I don't seem to ever get any tooltips. Do i have to add anything to get the tooltips to showup? I do have tooltips setup on all of my items, but when i hover the mouse over them I don't get any popups. Is that the expected behavior? I am only running 1 addon, Burny's UMA addon, but I don't see any scripts in there that should effect the tooltips. Also, would it be possible to add behavior where i can right click on an item in inventory or equipment panels and see a popup with the tooltip that stays open until x out so equipment can be compared? I can probably code that myself once I understand how to get the tooltips to work. Otherwise my switch from classic to CE is going great.
     
  23. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Please try a fresh uMMORPG CE download and see if it happens there too for you.
    It should work fine.
     
  24. Ridalin

    Ridalin

    Joined:
    Feb 12, 2015
    Posts:
    1
    Hello, I was thinking of getting the CE version. But I was wondering a few things,
    1. Is it possible to use my own Character Controller?
    2. Is there a way to increase stats permanently (like a Def+ Consumable)?
    If not (mainly worried for the first one), how hard do you think it would be to edit your script? I decent at scripting but not fantastic. Right now I have a double jump, its a bool that's tied to a passive skill.
     
  25. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    1. you can swap it out easily. The hard part is getting your own controller to work well, and then getting it to work well over the network. As far as I know, my controller is the only one that works over the network with Mirror.
    2. You get all the source and it's completely modular, so that should be doable.

    Modifying my controller isn't too hard. It's split up into a state machine.
     
  26. BlankMauser

    BlankMauser

    Joined:
    Dec 10, 2013
    Posts:
    138
    Is it easy to add things like hurtboxes and real-time melee/projectile detection like uSurvival has to uMMORPG?
     
  27. Chandlerya

    Chandlerya

    Joined:
    Sep 4, 2018
    Posts:
    9
    Well, a fresh install works fine, but that doesn't really help a whole lot as I have a lot of customization. I did throw some debug.log calls in there and it calls the tooltip properly, just can't figure out why it's not rendering as it doesn't throw any errors.

    UPDATE: So the issue is that the tooltip is spawning, but not as a child of the canvas...If i disable the delet code, I can run the game and drag the tooltips to canvas and they render, any idea how to fix this?
    UPDATE2: OK figured it out, I tried to move all of ummorpg into an empty game object to keep it grouped, it worked for everything else, but I had to move the canvas element back to the root to fix this issue.
     
    Last edited: Mar 5, 2020
    mischa2k likes this.
  28. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    uMMORPG Components Edition and uSurvival are the same architecture. Features are easy to port from one to another, yes.

    Try to use git to backup your work, then you can use git bisect to find out what caused strange issues.
     
  29. Fantasymmo

    Fantasymmo

    Joined:
    Mar 6, 2020
    Posts:
    2
    The engine doesnt have Loading screen system???From login to character from character to open world,porting to other zones,etc?
     
  30. ScorphiusMultiplayer

    ScorphiusMultiplayer

    Joined:
    Nov 10, 2018
    Posts:
    66
    It would be a nice to have Network Zones. I wish Vis could implement in uMmmorpg. It will also help others buy this asset.
    Simplicity is good, but many of us also would like to have Network Zones.
    Hope Vis adds it soon.
     
  31. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    UNET/Mirror wasn't really made for loading screens, sorry.

    I made a network zones addon a while ago. Give it a try :)
     
  32. ScorphiusMultiplayer

    ScorphiusMultiplayer

    Joined:
    Nov 10, 2018
    Posts:
    66
    Nice. :)
    How to get the NetworkZone Addon ?
     
  33. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    You can find it in our Discord after sending your order number to the Bot (see my signature)
     
  34. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    uMMORPG classic V1.188 pending review:
    • Apathy updated to latest version. Fixes a bug where calling server.GetNextMessages after server.Disconnect(connectionId) would log an EBADF error because GetNextMessages would try to close an already closed socket.
    • Apathy moved out of Mirror folder for easier Mirror updates
    • Mirror updated to v10.4.10
    • fix: Experience.BalanceExpReward calculation would return negative rewards for max level difference that aren't 10, like the default 20. Max difference is now an optional parameter so it can be tested easily.
     
  35. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    uMMORPG Components Edition V2.9 pending review:
    • Assembly Definitions set up for Scripts and Sqlite folders, with all the proper references. Reduces compilation / rebuild time significantly and prepares for unit tests.
    • fix: Experience.BalanceExpReward calculation would return negative rewards for max level difference that aren't 10, like the default 20. Max difference is now an optional parameter so it can be tested easily.
    • BalanceExpReward test added
    • PlayerCharacterControllerMovement: removed GetDesiredDirectionOnGround which caused strange/slightly off movement directions on slopes and roofs
    • CharacterController2k V1.1 - lots of improvements. Fixes a bug where jumping sometimes wouldn't be work after walking over tiny slopes.
    • Player prefabs: sliding start delay adjusted to 0.1 (new default)
    • TargetProjectileSkill: HasRequiredWeaponAndAmmo returns true if no weapon category is required. This way monsters don't require equipment for projectile skills anymore.
    • Entity: Equipment component not required anymore. This way monsters can be created from scratch, which previously wasn't possible because they would require an Equipment component, but we don't have one for monsters.
     
    Last edited: Mar 23, 2020
  36. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    uMMORPG Components Edition V2.10 pending review:
    • Mirror updated to v11.1.4
    • WebGL default quality set to Simple
    • CharacterController2k updated to V1.2
    • Documentation updated
    • fix: https://github.com/vis2k/uMMORPG/issues/33 NetworkProximityGridChecker.OnDestroy only removes connection from grid if the identity is the connection's main player (not a pet that is owned by the player). Fixes a bug where despawning a pet would make all surrounding npcs/monsters disappear for a while.
    • All player prefabs now use a blue Gizmo so we can see their locations when running the server in the Editor
     
  37. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    uMMORPG Classic V1.189 pending review:
    • Documentation updated
    • fix: https://github.com/vis2k/uMMORPG/issues/33 NetworkProximityGridChecker.OnDestroy only removes connection from grid if the identity is the connection's main player (not a pet that is owned by the player). Fixes a bug where despawning a pet would make all surrounding npcs/monsters disappear for a while.
    This means that a total of 189 Versions have been released for the one time price of $80.
    Is there even any asset with more versions?
     
  38. uberwiggett

    uberwiggett

    Joined:
    Jun 26, 2015
    Posts:
    105
    most of them didn't have as many bugs.
     
    Magic73 likes this.
  39. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    :eek::rolleyes:
     
    Magic73 likes this.
  40. markusviktor

    markusviktor

    Joined:
    May 14, 2019
    Posts:
    1
    Hi,
    I wanted to try out uMMORPG2D, and I created the game, I started the server on VPS, and it works well with standalone app, but in webGL build I get the follwing error:

    SocketException: Success
    at System.Net.Sockets.Socket..ctor (System.Net.Sockets.AddressFamily addressFamily, System.Net.Sockets.SocketType socketType, System.Net.Sockets.ProtocolType protocolType) [0x00000] in <00000000000000000000000000000000>:0
    (Filename: currently not available on il2cpp Line: -1)

    Is there any way to get it work?
    Thanks!
     
  41. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    For WebGL you need to use the websocket transport.
    Select your NetworkManager, remove all transport, add WebsocketTransport.
    Then try again :)

    Once it works you can also use FallbackTransport with both WebsocketTransport and ApathyTransport.
    Fallback will automatically select which ever transport works on the platform :)
     
  42. Quartzi

    Quartzi

    Joined:
    Apr 9, 2017
    Posts:
    1
    I am having some awkward issues with the ScriptableItems / Items.
    The hash for all of the items seem to get developed correctly in ScriptableItem and all the items are in the Resources folder.
    Yet I still recieve the KeyNotFoundException in Item. Always for hash=0.
     
  43. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Either attach the debugger and check what calls it,
    or go back through your git history to see what started it.
     
  44. macube

    macube

    Joined:
    Jul 16, 2017
    Posts:
    39
    Hey vis2k,
    i don't found anything about my question: is it planned to upgrade ummorpg to unity 2019 ? (would be good for urp)
     
  45. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Already works on 2019.
    I try to stay on LTS versions of Unity because every other version usually has way too many bugs.
    For game servers, you can't have bugs.
     
  46. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Components Edition V2.11 pending review:
    • Removed package-manager-ui from packages manifest to avoid a 2019.3 error when importing
    • Mirror v11.4.1 (includes 10k monsters performance doubling)
    • PlayerCharacterControllerMovement updated to latest Mirror version: removed float-byte-packing for simplicity and stability
    • Addons folder moved into Scripts folder to use the same assembly definition. Otherwise extending partial classes won't work.
    • fix: Latency UI is shown again
     
  47. ScorphiusMultiplayer

    ScorphiusMultiplayer

    Joined:
    Nov 10, 2018
    Posts:
    66
    I am on Discord.
    Under the "Official Network Zones", I cannot find anything which links to «NetworkZone Addon».
     
  48. cidolfas2015

    cidolfas2015

    Joined:
    Sep 27, 2015
    Posts:
    87
    I can load up a fresh copy of ummorpg to my dedicated server but if I make any changes(swapped out prefab, removed point to click, changed sword and shield positions) I get ebadf, eacces, enotsock error.

    "2020-3-13: Apathy updated to latest version. Fixes a bug where calling server.GetNextMessages after server.Disconnect(connectionId) would log an EBADF error because GetNextMessages would try to close an already closed socket."

    what can I do?

    edit: where can I find my order number so I can get in on some sweet discord action? all I found in my email was an invoice number.
     
    Last edited: Apr 10, 2020
  49. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Check the pinned messages.

    EBADF is sometimes expected if you just stopped the server.
    As long as the network still works, don't worry about it.
    I am just not sure yet when to log and when not to log that error :)
     
  50. cidolfas2015

    cidolfas2015

    Joined:
    Sep 27, 2015
    Posts:
    87
    ok but I'm getting huge spam like in the picture and then I can't connect with the client :( it just keeps spamming enotsock over and over after ebadf and eacces.