Search Unity

  1. New Unity Live Help updates. Check them out here!

    Dismiss Notice

uMMORPG Official Thread

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

  1. SkyLimitStudio

    SkyLimitStudio

    Joined:
    Oct 22, 2016
    Posts:
    14
    Nice updates ! Do you have any new info on the networking Phases ? I saw the new unity update and nothing there. And another question. How do I put an unpassable collider on a spawnable object ? It doesn't seem to work by normal means. Thanks.
     
  2. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,440
    Thanks.
    I have no new info, but 5.6 has the new network transport layer with multithreading, so that's good for now.
    You probably need NavMeshAgents obstacle avoidance and/or NavMeshObstacles.
     
  3. cjoo

    cjoo

    Joined:
    Nov 16, 2016
    Posts:
    44
    Hello !
    I have a question ... I 'm trying to have an UI panel which show at every players the pourcentage of people who are an angel and who are a demon. My panel works when i launch the game in "local" but not when i launch the game from a client. I think i have make a huge mistake but i don't know where ... I used NetworkMessage but when i launch the game as a client the RegisterHandler never launch the fonction associated. There is a better and easier way to do this system ?
    Thanks you so much !
     
  4. Techips

    Techips

    Joined:
    Jun 9, 2013
    Posts:
    234
    Hello, uMMORPG Group
    I wanted to ask, how secure is this method of having the server files on the client's system. And could the player or hacker easily manipulate the things?

    Also, has anyone ever changed this over to Forge Networking yet?
     
  5. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,440
    Hello! It's secure as long as the server validates all the input from the client. The client and the server already have 90% the same source code anyway.
    Also read this: https://noobtuts.com/unity/MMORPG#how-to-hide-server-code

    You'd usually use RPCs, Syncvars and Cmds in one way or the other. Try reading through the UNET manual to get a better concept of that.
     
  6. FS_Artsy

    FS_Artsy

    Joined:
    Mar 28, 2017
    Posts:
    69
    Hi @all,
    We are the new kids on the block. Purchase of uMMORPG will follow soon.

    I have been studying the docs for a while now as well as the community/forum.

    Just wanted to give @vis2k a heads up for all the great work accomplished.

    PS: We will try to tackle that 2d approach instead of 3d representation.
     
  7. st0le

    st0le

    Joined:
    Nov 24, 2015
    Posts:
    18
    Hello!

    Im new here, I bought uMMORPG just for learn.

    Thats fantastic.

    Thanks :)
     
  8. cioa00

    cioa00

    Joined:
    May 31, 2016
    Posts:
    203
    camta005 and vis2k like this.
  9. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,440
    Progress: still waiting for the guild update to be accepted to the store. The new warrior model makes small and steady progress. The version after the guild update is currently being worked on, it will have some minor improvements. Addon system and addon website will follow too.

    Thank you!

    I am glad that you like it.

    Added to Documentation.
     
    luis29vm likes this.
  10. luis29vm

    luis29vm

    Joined:
    Oct 25, 2016
    Posts:
    164
    Hello guys what u think about performance is better cartoon or realistic? Game? What stile is better?
     
  11. FS_Artsy

    FS_Artsy

    Joined:
    Mar 28, 2017
    Posts:
    69
    @luis29vm Is that a uM related question? Cartoon is lower on resources. WoW has this style for 2 reasons: 1. children friendly, 2. performance

    @vis2k I have a few questions:

    1st Question:

    So, if I replace all 3d models with animated 2d sprites. What do I have to think about?

    My 2d sprites are made with Mecanim based animation sequences, they have the same animations as the uM models but they are named differently. I guess I have to re-assign them all. The sprite size/range of attacks as well as the duration of animations is also quite different.

    Do I follow exactly the same guidelines as in your Tutorial "How to add or modify a PC/Monster/NPC"?

    2nd Question:

    (I dont have uMMORPG yet, but soon)

    Is there a way to make chests? Canyonbreed does that, but is it an out of the box option or custom coded? How does the server handle chests in an multiplayer environment?

    3rd Question:

    You think it is possible to combine uM with a single-scene segmentation/portal script like SECTR CORE ?

    Thanks in advance!
     
    Last edited: Apr 5, 2017
    luis29vm likes this.
  12. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,440
    Which performance? The server doesn't render anything, so it doesn't care. For the client, the usual Unity best practices apply - the less triangles / shaders, the better.

    1.) Converting to 2D can be difficult, depending on much 2D you want it to be. I suppose the easiest way would be to have a top down orthographic camera, keep all the 3d colliders and so on, and just replace the 3D meshes with 2D sprites. I haven't tried this, but it's probably the easiest solution where you don't have to change any code.

    Making it fully 2D in the XY plane is more difficult of course.

    For the animations you should just open the existing animation controllers, select the state and then drag in another animation.

    2.) Chest aren't implemented yet. But many people here use the monster script, with 1 health and no random movement. As soon as you click on it, it dies and contains loot.

    3.) I never used that asset, so I can't say for sure. I can say that you can use Unity's built in occlusion culling if your scene gets big. Also uMMORPG does have a teleport feature already.

    Let me know if you have any more questions.
     
    FS_Artsy likes this.
  13. SunLeaf

    SunLeaf

    Joined:
    Feb 20, 2014
    Posts:
    64
    my chests in canyonbreed are custom coded and works well in multiplayer environment.
    just an example:
    • place a chest in your scene
    • add a collider and name it like "chest"
    • in the maincode (player.cs) i raycast the click-target and check the collider name.
    • if the collider name equals "chest", a random or specific item will be added in the inventory
    • dont forget adding a cooldowntimer on your chest ;)
    after the uMMORPG addonsystem is released, i will share this
     
    luis29vm, Tiny-Tree, vis2k and 2 others like this.
  14. FS_Artsy

    FS_Artsy

    Joined:
    Mar 28, 2017
    Posts:
    69
    @vis2k Thanks a ton. It's just a hobby anyways, so maybe it's better to stick to 3d (cartoon style or whatever)

    @Ronith Thank you. I plan to create/share a few addon's as well. Im not the best coder out there but it should be enough for a some small things.
     
    vis2k likes this.
  15. CrandellWS

    CrandellWS

    Joined:
    Oct 31, 2015
    Posts:
    91
    Been looking into this and it seems to be promising ...I have yet to obtained SECTR CORE...

    Though I have been looking into SECTR COMPLETE which is a paid asset.

    I will give SECTR CORE a run and post back on how it went
     
    Last edited: Apr 5, 2017
  16. FS_Artsy

    FS_Artsy

    Joined:
    Mar 28, 2017
    Posts:
    69
    Got my copy now. What a nice little toy you got there!

    @vis2k Any date for the next update? Could you share database.cs with me? I can send invoice No. via PM.

    @CrandellWS Great idea! Wanted to do that myself, but I would prefer you do, so I have time to research other things.

    @all Started my first shared code already:

    1. updating the mySQL conversion add-on to the newest 1.67 version
    2. integrate that Warehouse add-on someone else created into the mySQL conversion
    3. update the Warehouse add-on to the newest 1.67 of uMMORPG
    4. release this new "plugin bundle" (will take a while)
     
    SunLeaf likes this.
  17. SunLeaf

    SunLeaf

    Joined:
    Feb 20, 2014
    Posts:
    64
    @Fhizban
    welcome on board! another german game-engineer ;)
     
    Bernadino77 and FS_Artsy like this.
  18. ianmhart

    ianmhart

    Joined:
    Mar 16, 2014
    Posts:
    28
    I try to build it in android and try it on my phone the interface is small, how do i the interface can be fit in all screen size. it to small.
     
  19. toloo

    toloo

    Joined:
    Oct 1, 2014
    Posts:
    9
    Hello

    I bought uMMORPG and am curious how it will work
     
  20. CrandellWS

    CrandellWS

    Joined:
    Oct 31, 2015
    Posts:
    91
    Documentation is well-done check it out, it will get you going in no time as long as you already know Unity at least some. Here is that link:

    https://noobtuts.com/unity/MMORPG
     
    vis2k likes this.
  21. KiraELL

    KiraELL

    Joined:
    Apr 6, 2017
    Posts:
    24
    please make it mobile compatible size.
     
  22. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,440
    You can set the Canvas scale to 2x if needed. It really depends on how big your device is, you may not need to do that on a tablet.

    What do you mean?
     
  23. KiraELL

    KiraELL

    Joined:
    Apr 6, 2017
    Posts:
    24
    need joystick to make character move.
     
  24. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,440
    You can just tap into the game world to move there.
     
  25. KiraELL

    KiraELL

    Joined:
    Apr 6, 2017
    Posts:
    24
    much better if have joystick. and can i make my chat like in uMoba ,
     
  26. FS_Artsy

    FS_Artsy

    Joined:
    Mar 28, 2017
    Posts:
    69
    flicking through all script files currently.

    guess the code will be a pain to synchronise with @vis2k official updates, but it's doable. thinking about adding namespaces.

    Im also planning to add a "Guild Warehouse" when updating the old warehouse script + mySQL script to 1.67

    that warehouse access would be limited to members of the same guild.

    a super simple solution for simultanous access could be: if a player accesses the guild warehouse, no one else can access it until that player is finished. thats a bit easier to do than access rights/limits.

    not really sure If im capable of doing this, but I'll try
     
    SunLeaf likes this.
  27. cioa00

    cioa00

    Joined:
    May 31, 2016
    Posts:
    203
    @Fhizban wait when the new update with guild list comes out then using my warehouse addon or use already existing player inventory solution as a template to make guild warehouse
     
    vis2k likes this.
  28. FS_Artsy

    FS_Artsy

    Joined:
    Mar 28, 2017
    Posts:
    69
    @cioa00 yes, i plan to do exactly that!

    Think 1.67 was released by now.

    Got (private) GIT repo's running to organize my workbench here a bit better. And I'm willing to put some effort into this little gem (and share!).

    I Maintained a tiny little NeverWinterNights server back in the days (the old NWN, not the new one). And this reminds me SO MUCH of it!

    Great little-big script, this "tinydreamMMOMaker" is really good!
     
    Last edited: Apr 7, 2017
    vis2k likes this.
  29. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,440
    Update:
    V1.67 [released 2017-04-06]
    • Upgrade Info: make sure to delete your old database file.
    • Guild System
    • UILogin dedicated button .interactable / onClick order switched
    • UILogin login button: fixed a bug where it could try to login twice when clicking it rapidly
    • Monster: Loot header is now shown in the Inspector again
    • Player: OnDragAndClear uses SendMessage to prepare for the addon system
     
    toloo007, camta005, FS_Artsy and 2 others like this.
  30. KiraELL

    KiraELL

    Joined:
    Apr 6, 2017
    Posts:
    24
    i wish next update is party system :D
     
    JBR-games likes this.
  31. FS_Artsy

    FS_Artsy

    Joined:
    Mar 28, 2017
    Posts:
    69
    Ok, so VPS setup and installation went really smoothly.

    But I'm running into a strange bug here, since database.cs was changed to mySQL.

    I think at least one other person on here, experienced this bug. Can you please help me and/or share your experience?

    * Compiles correctly, Servers up and running, Client can connect
    * Accounts can be created, but checking for CharacterExists throws this error
    * Database is setup correctly, .sql file is correct, all UTF8
    * Added namespaces to all scripts, but that should not be a problem

    Im having difficulties reading that stack trace, but to me it seems like a type conversion/type casting error caused by Database.ExecuteScalar - but why does it end up as a Dictionary? There is none used at that point.

    I also found a few other people who experience this kind of bug in Unity

    Code (CSharp):
    1. KeyNotFoundException: The given key was not present in the dictionary.
    2.   at System.Collections.Generic.Dictionary`2[System.Int32,System.String].get_Item (Int32 key) [0x00000] in <filename unknown>:0
    3.   at MySql.Data.MySqlClient.MySqlField.SetFieldEncoding () [0x00000] in <filename unknown>:0
    4.   at MySql.Data.MySqlClient.MySqlField.set_CharacterSetIndex (Int32 value) [0x00000] in <filename unknown>:0
    5.   at MySql.Data.MySqlClient.NativeDriver.GetColumnData (MySql.Data.MySqlClient.MySqlField field) [0x00000] in <filename unknown>:0
    6.   at MySql.Data.MySqlClient.NativeDriver.GetColumnsData (MySql.Data.MySqlClient.MySqlField[] columns) [0x00000] in <filename unknown>:0
    7.   at MySql.Data.MySqlClient.Driver.GetColumns (Int32 count) [0x00000] in <filename unknown>:0
    8.   at MySql.Data.MySqlClient.ResultSet.LoadColumns (Int32 numCols) [0x00000] in <filename unknown>:0
    9.   at MySql.Data.MySqlClient.ResultSet..ctor (MySql.Data.MySqlClient.Driver d, Int32 statementId, Int32 numCols) [0x00000] in <filename unknown>:0
    10.   at MySql.Data.MySqlClient.Driver.NextResult (Int32 statementId, Boolean force) [0x00000] in <filename unknown>:0
    11.   at MySql.Data.MySqlClient.MySqlDataReader.NextResult () [0x00000] in <filename unknown>:0
    12.   at MySql.Data.MySqlClient.MySqlDataReader.Close () [0x00000] in <filename unknown>:0
    13.   at MySql.Data.MySqlClient.MySqlCommand.ResetReader () [0x00000] in <filename unknown>:0
    14.   at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader (CommandBehavior behavior) [0x00000] in <filename unknown>:0
    15.   at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader () [0x00000] in <filename unknown>:0
    16.   at MySql.Data.MySqlClient.MySqlCommand.ExecuteScalar () [0x00000] in <filename unknown>:0
    17.   at uMMORPG.Database.ExecuteScalar (System.String sql, MySql.Data.MySqlClient.MySqlParameter[] args) [0x00000] in <filename unknown>:0
    18.   at uMMORPG.Database.CharacterExists (System.String charName) [0x00000] in <filename unknown>:0
    19.   at uMMORPG.NetworkManagerMMO.OnServerCharacterCreate (UnityEngine.Networking.NetworkMessage netMsg) [0x00000] in <filename unknown>:0
    20.   at UnityEngine.Networking.NetworkConnection.HandleReader (UnityEngine.Networking.NetworkReader reader, Int32 receivedSize, Int32 channelId) [0x00000] in <filename unknown>:0
    21.   at UnityEngine.Networking.NetworkConnection.HandleBytes (System.Byte[] buffer, Int32 receivedSize, Int32 channelId) [0x00000] in <filename unknown>:0
    22.   at UnityEngine.Networking.NetworkConnection.TransportReceive (System.Byte[] bytes, Int32 numBytes, Int32 channelId) [0x00000] in <filename unknown>:0
    23.   at UnityEngine.Networking.NetworkServer.OnData (UnityEngine.Networking.NetworkConnection conn, Int32 receivedSize, Int32 channelId) [0x00000] in <filename unknown>:0
    24.   at UnityEngine.Networking.NetworkServer+ServerSimpleWrapper.OnData (UnityEngine.Networking.NetworkConnection conn, Int32 receivedSize, Int32 channelId) [0x00000] in <filename unknown>:0
    25.   at UnityEngine.Networking.NetworkServerSimple.HandleData (Int32 connectionId, Int32 channelId, Int32 receivedSize, Byte error) [0x00000] in <filename unknown>:0
    26.   at UnityEngine.Networking.NetworkServerSimple.Update () [0x00000] in <filename unknown>:0
    27.   at UnityEngine.Networking.NetworkServer.InternalUpdate () [0x00000] in <filename unknown>:0
    28.   at UnityEngine.Networking.NetworkServer.Update () [0x00000] in <filename unknown>:0
    29.   at UnityEngine.Networking.NetworkIdentity.UNetStaticUpdate () [0x00000] in <filename unknown>:0
     
  32. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,440
    Looks like a bug in the MySql DLL. Could be lots of things, perhaps an outdated DLL. I had a similar problem when adding SQLite support, because Unity's Mono version's Sqlite DLL had a bug that is fixed in newer versions.
     
  33. cioa00

    cioa00

    Joined:
    May 31, 2016
    Posts:
    203
  34. FS_Artsy

    FS_Artsy

    Joined:
    Mar 28, 2017
    Posts:
    69
    Updated that, error is still there.

    Well I don't want to spam this official thread with a modification that is not directly related to the official download.

    Im currently discussing a solution with @camta005 in private.

    Maybe we could open another thread for uMMORPG Modifications later on?

    PS: Out of the box installation works like a charm - a bit of technical knowledge provided you can setup your stuff in 5 minutes
     
    vis2k likes this.
  35. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,440
    I will create a forum for modifications, tutorials etc. very soon. Want to finish the addon system first.
     
  36. gghitman69

    gghitman69

    Joined:
    Mar 4, 2016
    Posts:
    82
    hi @vis2k
    I think that it is necessary to quickly change and stop syncvar and set up unet messages

    I am already limited in the file player 32 syncvar
     
  37. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,440
    I know. I actually finished my perfect addon system already, but UNET's 32 SyncVar limit was a dealbraker. I am currently researching workarounds.
     
  38. camta005

    camta005

    Joined:
    Dec 16, 2016
    Posts:
    249
    Ok Fhizban and I found the problem that a couple of people have been having with the MySQL mod, when running a game server on Linux.

    As suspected it was character set related. If MySQL is setup with Latin1 as the default character set, UTF8 needs to be set for a couple of default server variables in the MySQL install in either:

    /etc/my.cnf
    or
    /etc/mysql/mysql.conf.d/mysqld.cnf

    I used WinSCP to find the file (do this however you want) and edited it with notepad, adding the following:

    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci

    (Look to see if the file already has the [mysqld] heading)

    That solved the issue.

    Interestingly Latin1 seems to work just fine when running the server on Windows, just not on a default install of Linux Ubuntu.
     
    Last edited: Apr 9, 2017
    vis2k likes this.
  39. st0le

    st0le

    Joined:
    Nov 24, 2015
    Posts:
    18
    Hello,

    How I can change the character warrior for other with same animations?

    I followed the documentation https://noobtuts.com/unity/MMORPG#how-to-add-entity

    I tried with new character with same bones and can't do it :( It is moving and atacking in T position anyway xd

    Can someone help me please?

    How I can share my project or code easily?

    Cheers
     
    Last edited: Apr 9, 2017
  40. st0le

    st0le

    Joined:
    Nov 24, 2015
    Posts:
    18

    Hello,

    Which script I have to modify to works it properly? Thats really powerfull ^^

    Thanks
     
  41. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,440
    Thanks for sharing, I am sure this will be very useful for other people in the future!

    What I did in the tutorial works 100% for the existing model. So perhaps you need to talk to your artist to make sure that your new model is similar. Or compare both of them in the Hierarchy to see where the problem might be.
     
  42. FS_Artsy

    FS_Artsy

    Joined:
    Mar 28, 2017
    Posts:
    69
    With the help of @camta005 - we could sort out the mySQL issues. I will provide files + instructions for 1.67 by the end of this week.

    After that, I will provide the updated warehouse code.

    While experimenting with the warehouse, I ran into the SyncVars limit as well. Turning attributes into a SyncList frees a bit of space again.

    Regarding SyncVars:

    Can't you just use another script? Someone on the forums recommended that. It seems the limit is class/script related. For example i put all warehouse code/syncVars into a new class and created a new instances within the player class. Maybe I was just lucky and had that amount of syncVars still available?
     
    JBR-games likes this.
  43. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,440
    I implemented an extra [SyncVar_] attribute yesterday. Will see how that goes.
     
    FS_Artsy and camta005 like this.
  44. st0le

    st0le

    Joined:
    Nov 24, 2015
    Posts:
    18
    Hello,

    I did with Ethan from Stander Assets and doesnt work for me :( I'm doing something bad but anyway. Thanks for help.

    By other way, How I can add new clothes, armors and others? It will works fine with these characters? Or have to do anything else?

    Thanks so much
     
  45. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,440
    You can add weapons without a problem. Armors are difficult because they have to follow the animation. This is called skinned mesh equipping. My artist friend is currently creating a new warrior model with equipment pieces so that I can implement this feature.
     
  46. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,440
    Update: V1.68 [released 2017-04-11]
    • Upgraded to Unity 5.6
    • Player.riskyActionTime; used for coupons and for other actions soon
    • Player.onlinePlayers dictionary
    • Chat, Database, NetworkManager, Player use onlinePlayers dictionary for performance
    • Fixed a bug where an empty guild message could be sent
    • Updated documentation
     
    camta005 likes this.
  47. st0le

    st0le

    Joined:
    Nov 24, 2015
    Posts:
    18
    Hello,

    Thanks for your reply.

    Then, Do you recommend to buy some characters with all kind of armors or something? Would be easier isnt it?

    Cheers
     
  48. FS_Artsy

    FS_Artsy

    Joined:
    Mar 28, 2017
    Posts:
    69
    camta005 likes this.
  49. cioa00

    cioa00

    Joined:
    May 31, 2016
    Posts:
    203
    @Fhizban about warehouse, im going to update warehouse code so it would work with latest uMMORPG (some minor changes). But also there will be some changes related with addon system, most likely i`ll move warehouse gold to it own table so it won't affect account SQL table or neither core method which checks if account exist or not.
     
    vis2k likes this.
  50. TonanBora

    TonanBora

    Joined:
    Feb 4, 2013
    Posts:
    492
    @vis2k
    Vis...
    Why don't you namespace!
    A lot of your scripts are causing issues with other assets, and my own scripts due to them not being properly name spaced.

    Player.cs is quite a common script name, as is Item.cs.
    It is a pain to try and implement other assets when I have to go through your scripts, and namespace them for you. :p
    It is a lot easier for us programmers to simply add "using Noobtuts.uMMORPG;" to the top of our scripts, rather than go through all of yours and name space them.;)

    So please, add name spacing in the next update. :)
     
    Tiny-Tree, FS_Artsy and JBR-games like this.
unityunity