Search Unity

[RELEASED] MultiOnline : multiplayer online kit - V3 now available

Discussion in 'Assets and Asset Store' started by VirtuElle, Aug 16, 2013.

  1. ks1966

    ks1966

    Joined:
    Feb 5, 2014
    Posts:
    32
    thanks for the answers, they are really help ful! can i want you to send me a short video with in-game chat? I want to see how it works in the game. I mean do you click enter to open it? or just type something and it appears? or do you have to click somewhere on the screen, can the players drag and drop it somewhere else o the screen? can you maybe record a short video for that? thanks! (bcause i did not see it on virtuelles videos)
     
  2. kbmikemood

    kbmikemood

    Joined:
    Dec 12, 2013
    Posts:
    68
    Maybe I'll make a video tomorrow for some items listed ;)

    About in game chat. Its an odd default. You have to click a button to open chat then type and click send to send. However I used a different method and modified it. I used an Event script for the Return button to open chat and Return to send. In my modifications you don't have to click buttons to chat, you just hit enter. All this is easy to do once you navigate the asset and learn how it works.

    Also side note, the game chat is actually a prefab with a script. So you can add it into any level or not include it in a level.

    Just keep on mind that everything you want to do is possible one way or another. ;)

    I was 100% hesitant about getting multionline. Within 2 days I've learned so much about network play that it paid for itself.

    First thing you do when you get it and have it setup as a sample project. Just learn everything about it. What does what and how it does it'

    Cheers!
     
  3. ks1966

    ks1966

    Joined:
    Feb 5, 2014
    Posts:
    32
    yeah, I have no negative questions about this script! I am just waiting that my exams are finished and i can really have some free time to work with this tool! I am just excited and waiting for the time that i puchase and work with it, it is just, you know, getting excited and just asking a few questions. In this ways, I also prepare myself to work all with these stuff :D Thank you for your help!
     
  4. VirtuElle

    VirtuElle

    Joined:
    Jan 27, 2013
    Posts:
    458
    I 'm just back from weekend and I see that there is a lot of activity here !

    I'll answer to everybody, but my first post will be for Zero Logics: thanks for your video and online demo, that's great to share it with us, and I'm happy to see that you have done a very good integration of your game's features.
    And also thanks for the answers you've given to other users in this Thread.
     
  5. VirtuElle

    VirtuElle

    Joined:
    Jan 27, 2013
    Posts:
    458
    Hi,

    Your animated player hasn't his own camera ?
    The camera of MultiOnline's default player is "inside" the player ("Menu Camera" is something else, to display the menu, it's not for the players). You can see it if you click on the prefab: there is a camera inside, named "Camera".

    So if you want to add a camera to your own prefab, just put it your Untiy current scene, click on "GameObject / Create other / Camera", you will see a new camera in Unity. Just drop this camera in your player prebab. And to save you player with his camera, drop him in the "Prefab" folder.
    After that, follow the explications of the documentation, part 5.1 about how change the player.
     
  6. VirtuElle

    VirtuElle

    Joined:
    Jan 27, 2013
    Posts:
    458
    Hi, Zero Logics has already given some answers, but I will answer to your questions in my turn.
    I will do very curt answers when my answer would be the same as Zero Logics.

    Of course you can do it, and as you think, it would not something difficult to do.
    You can save a player's prefab in database, or just as a PlayerPrefs.
    After that, you'll just have to load the good player in the spawn() function, depending the saved prefab.

    Zero Logics has answered about it: the chat log isn't saved anywhere, it doesn't work with the webhosting but only and directly by the network connection which it is made when a player join a game.

    In fact, I don't really see it which case it would be useful to save it, but if it's something you need, you could add a function to save it in database, it would be quite easy too.

    Yes

    Currently yes, but in absolute your 5 players can be in the same computer, you'll just have to open 5 differents ports: one for each game. After the question is: does your computer can support 5 network games in the mean time ? ... I'm not sure

    Yes: a prefab has been made especially for that : you'll just have to change/delete the texture.

    Yes, two players cannot have the same username, and the default error message is quite the one you've written ! It's also the same for the email address. (you need'n to modify anything, that the default behavior)

    It the same way, when a player is login, it's impossible to login with the same unsername in the mean time, there is a warning as "error this player is already logged"

    As told Zero Logics , the "bandwidth is all host side". When a player hosts a game, his bandwidth is used for all the networks synchronization.

    But, you webhosting will be used to record some "calls interval": in fact, the players and the host will send a message each x seconds (you can set this data) to save their current state (online / offline) in database. The simple players can send it rarely (each 5 or 10 minutes can be enough), but the host have to send it more often. This system allow to be sure that a game without host will be well deleted even if something prevents the host to disconnect properly.
    The messages send to the webhosting for that is very light, so it will not consumes a lot of bandwith.

    Yes, that's a prefab that you can put in your game scene or not.

    Of course you can intergrate it to another game, but, as I told to many users : if you want purchase differents assets and make it work together, you'll have a real job to do. And if you have no bases in programming, it would be something very hard to do.
    About your last question, my answer will be yes and no: my job is to help you to have your MultiOnline functional. I mean that if you have some conflict between some scripts, I can told you from where it could come in MultiOnline side, but I can't do the integration of your assets for you.

    Thanks you for your interest for it !
     
  7. VirtuElle

    VirtuElle

    Joined:
    Jan 27, 2013
    Posts:
    458
    Yes currenty MultiOnline is only ClientServers: players host themselves the games.

    In fact, I currently work in the next version, which should include a dedicated server option with special admin accounts. It's something that has been asked several times, and I know that many users will be very happy to get it.
    But the new version is still in development and I currently don't want to tell more about it...

    In any case, a simple web hosting couldn't be used as dedicated server, but a VPS might.
    With the current version, you might put the game in a server to have a default game in anytime, but the host must be a player himself.
     
  8. VirtuElle

    VirtuElle

    Joined:
    Jan 27, 2013
    Posts:
    458
    Here is a little video:


    But the chat will maybe change in the new version.
    About it, I would like to know what users think about this one ?
    Do you like how we can open and close it with the miniature ? Or would you prefer a system without miniature where the chat would be totally closed when we click on "close chat" ?
     
  9. ks1966

    ks1966

    Joined:
    Feb 5, 2014
    Posts:
    32
    Thank you for all your answers my friend! For the chat , I actually like it this ways As your question, If i host a public game and some one tells me "this quy used bad words to me and i want him to get banned" so that i can check his conversation and see if he really used bad words, so that i wont allow him to play again. this is to control the happiness of the users ;) it would be nice to have such a feature.

    And as the port issue, it is a bit problematic. I mean, for the users who just wants to create a game and play with their friends, It is a real hard job to play, I think this should be the first thing that you should take care of man. You know counterstrike, no port issues, may be you can do some improvement.

    In any case, a simple web hosting couldn't be used as dedicated server, but a VPS might.
    With the current version, you might put the game in a server to have a default game in anytime, but the host must be a player himself.


    Yeah, this is actually what i was thinking. host the files in my vps, and also create a user through the vps and just create a game through that user other and let him be online foreever. So that every other player can join this "default" game.
     
  10. VirtuElle

    VirtuElle

    Joined:
    Jan 27, 2013
    Posts:
    458
    Ok, I understand better, I'll think about it...

    I know about the ports, that's why I'll plan to add the dedicated server option in next version. It will be a first solution.
    Multiplayer games without port forwarding is technically possible with UPnP network protocol, but currently this protocol isn't support by Unity Network class (the one used by MutliOnline)... And this protocol doesnt always work well and is not very secure. In fact, there is currently no "perfect option".
    And, open a port in router is not really something very hard to do, it takes just one minunte.

    That's a good solution.
     
  11. ks1966

    ks1966

    Joined:
    Feb 5, 2014
    Posts:
    32
    Thank you for everthing! Especially chatlog and the deicated solution will be perfect! And also if a user could open more than 1 room in this dedicated solution, that would also be perfect!

    Another question. What about a diameter on chat? Let me explain what i want to say with it:

    For example I have a huge map. at one end there is a few people talking to eachother via chat, and there is also a few people at the oter end of the map and they are also talking to eachother via chat. But this two gorups are really far away from each other and does not need to see the others in the chat what they wrote there.

    Is that possible to let the people to chat with eachother who are (as an example) in xx sq meter area, so that only the people can see the speech in the chat who are near to eachother.

    how cna we do this? do you have any suggestion to me? thanks!
     
  12. VirtuElle

    VirtuElle

    Joined:
    Jan 27, 2013
    Posts:
    458
    Yes, that's exactly the goal. But however, you shouldn't put too many games in one server, else the server could be overcrowded and the games could be lagging (in bigs multiplayer games, as battlefield, it's one server by game).

    That's something interesting. By default all player can talking together. But there is a playerlist which is managed in the game (it contains some informations about players, as id, ip, username...), you could add the players' position in this list (and therefore synchronized this list each time than a player moves) so that you could choose to send the messages only to some people which are not too far.
     
  13. ks1966

    ks1966

    Joined:
    Feb 5, 2014
    Posts:
    32
    Yeah for this, I will test a perfect dedicated server to see what happens when the server is heavly loaded, or when the lag starts etc. That will give some information about the server req. or as you said if we need other server or not etc.

    Can you explain this some more please? I mean where can I edit this "playerlist" in game files, in DB, in unity? What i understood is that we should tell the game where the player is and let them to be able to talk with the people only in that certain area. for example, If we cut our map 4 different areas, there will be 4 different chat areas which works independed from each other and the player will only be able to see/write to those players, who are in the same are as this user, right?

    If yes, can you explain some more technical where to add the position etc in the "playerlist" and where to find that? That would be a good conf. to only be able to chat with the people who are not too far.

    thanks!
     
  14. VirtuElle

    VirtuElle

    Joined:
    Jan 27, 2013
    Posts:
    458
    The playerlist is in C# scripts.
    This is a C# List<MUser> (MUser is a class I have created especially for it). This class contains serializations functions to can be synchronized by RPC functions as a simple string, and some other little functions used in scripts (as search, sort...)
    So you could add attributes to this class, as the player's position, or player's area (if you do something as you said, with many differents areas).

    For example:
    If you want to do something with an areas system, you could use something as an empty gameobject or collider to know when a player enter/exit an area. With that, you can save the new area in the playerlist, synchronize it, and all players know the area of each others. From that, you can send a chat message only to players which are in the same area as the sender.

    If you want a system without area, you can easily know and save the position of a player (or any gameobject) with transform.position.
    So, you'll have to save it in playerlist each time a player moved (and synchronize the list with everybody).
    After that, you'll have to calculate which players can receive the message, and which are too far (from the sender's position's, and the positions of the other players that you'll save in playerlist).

    That's just basics examples to give you an idea, there would have probably many way to do it.
     
  15. ks1966

    ks1966

    Joined:
    Feb 5, 2014
    Posts:
    32

    Hmmm, you first example sounds like a better solution, so trhat we can have static koordinates for the area, and we can check if the user is there, then let hem talk with other people who are also in that area. The second example is more complicated, it will take lots of work I think, but the first one is a perfect solution for me! thanks!

    So my other question is what about the bandwidth? Lets say I created a unity game, which is around 50mb and uploaded it to my server and created a game via a user in my vps and let it be online. (as we talked earlier) No lets say, the people just started to join the game. First, they will use 50mb bandwidth, and then? what will cause for bandwidth usage to that person, who hosts the game (in this case, the host is the player who uses my vps, that means the bandwidth will be used from my vps) Can you tell approx. how much bandwidth can a game cause, which is like 50mb? ( bandwidth usage pro player)

    thanks for you perfect answers! (sorry, i am asking liots of questions but if you are busy just answer these in your free time, it is totally ok for me ;) ) I am just asking to not to ask in another time.
     
  16. VirtuElle

    VirtuElle

    Joined:
    Jan 27, 2013
    Posts:
    458
    The bandwidth is a difficult question since it will totally different depending your game type, the players numbers, the differents games objects... For example, a turn-based game will consume much less than a MMO game.
    Each moving object which must be synchronized consumes bandwidth (each bullet, lance, flag...), so more you'll have synchronized objects , more bandwidth will be consumed.
    However, if nobody move or talked in the chat, no bandwidth will be consumed.
    With the default game's map and players, when a player moves, the host send about 600 B/sec, and receive about 1600 B/sec.

    There is many way to minimize it, by choose a sendrate as optimized as possible. You can read to have a better idea about it; Minimizing Network Bandwidth, Network View
     
  17. ks1966

    ks1966

    Joined:
    Feb 5, 2014
    Posts:
    32
    Thanks for the infos. I think the baest way to see this is to see it live :) it is a bit complicated for me to calculate now like this :) coz it is so technical for me :)
     
  18. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,462
    @VirtualElle,

    Is there a showcase game that has used MultiOnline on a large scale successfully ?

    Cheers.
     
  19. VirtuElle

    VirtuElle

    Joined:
    Jan 27, 2013
    Posts:
    458
    Hi,
    Not currently, but MultiOnline is fairly new, you know, so it could come ;)
     
  20. ks1966

    ks1966

    Joined:
    Feb 5, 2014
    Posts:
    32
    Any news about the v3? when do you plan to release it?

    also can you please share with us what you are planning for the v3, so that we can know what will come with the next version and we maybe have some suggestions.
     
  21. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,462
    My concern is that since it's so new and not been tested so it could break under heavy load conditions. I'm not saying that it will, it' s just that because the package has not gone through the procedure of been stressed tested. Other networking solution like Photon plus is in a different league and cannot be compared with this asset, however, one thing that makes people want to use Photon Plus is because it has been battle tested. A networking solution is a major part of the game and cannot be a hit and miss situation. It's something that has to work solidly because if it breaks under heavy load, then the project would be a complete disaster.

    As the designer and maker of this asset, if you can take some steps to stress test this networking solution then potential customers will be much more confident in knowing that it will work and not have to worry. To wait for someone who buys this asset to test it for you is not very reassuring. We want to support this project because it's got lots of potential and offer a real alternative to bigger packages, the only thing we need to know with as much confidence as possible is that it will work solidly.
     
  22. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,462
    Edit: forum double posted the last message.
     
  23. mkgame

    mkgame

    Joined:
    Feb 24, 2014
    Posts:
    592
    Server on debian Wheezy, client on Win 7.

    1. After adding a user, and login, the password does not match. Cannot, because
    in logUser(..) the following line always create a random key, so it can never match:

    $pass = crypt(secure_prepare_db($pass));


    2. The DB has a too short field (100 char) for the 'loginKey', matching the keys always fails, because it is longer!

    Did i somewhat wrong? Or is this version not well tested?


    But anyway, this project is much more better than starting from the ground, well commented code, i can fix bugs and i can improve the code. The money what i payed for this project is definitely not waisted! The 3. version could have an achivement system and statistic about win/lost rate and more.
     
    Last edited: Feb 26, 2014
  24. VirtuElle

    VirtuElle

    Joined:
    Jan 27, 2013
    Posts:
    458
    Php crypt function() uses a salt during encryption, so that the crytage is never the same.
    But we can check the password by using the same salt that during encryption.
    If you look at the script User.class.php, the password is saved in database in the function saveUser(), line 69 :
    PHP:
    $savePass crypt(secure_prepare_db($pass));
    And this password is check in logUser() function, line 136 / 137 :
    PHP:
    $pass crypt(secure_prepare_db($pass), display_db($check->pass));                
            if(
    $pass == $check->pass  [...]|
    The checked password is encrypted in the same way as the saved password, so that to two passwords can be correctly compare.

    With the default algorithm used by crypt function() retrun a string of 34 characers, So a field of 100 char is more than enough.

    About your problem, I see two possibilities:
    1. You login problem doesn't comes from the password
    2. Your webserver doesn't support the defaut hashed algorithm of php crypt function (that's Unix DES), so it chooses an other algorithm. In this way, that's possible that your crypted passwords are longer than 100 charaters (if it uses sha512 for example).
    In this case, you can put more that 100 char in the password field in database, or you can use another encryption method, as MD5 for example. II had explained how replace crypt() function by md5() function in this Thread:

    Go on the php scrip MOUser.class.php (on functions folder) and change the two following lines :
    Line 68, change this line :
    PHP Code:
    PHP:
    $savePass crypt(secure_prepare_db($pass)); 
    By this one :
    PHP Code:
    PHP:
    $savePass md5(secure_prepare_db($pass)); 
    And line 136, change this line:
    PHP Code:
    PHP:
    $pass crypt(secure_prepare_db($pass), display_db($check->pass)); 
    By this one :
    PHP Code:
    PHP:
    $pass md5(secure_prepare_db($pass));  
    ... It will not say that there are absolutly 0 error/bug in MultiOnline, since we can't always see everything in tests, but definitely not in something as basic as password encryption.
    However if your platform doesn't have the "default behavior", some functions may be not adapted, and I'm here to find solutions with you.
     
  25. VirtuElle

    VirtuElle

    Joined:
    Jan 27, 2013
    Posts:
    458
    About the V3, I cannot currently tell you any precise date since I have a lot of work in this time.
    The main feature will be the dedicated server support, and there will have some other little new features, as a friendlist system, filters in game list, and some things which will change in the interface, and in scripts.
    And i will probably do something as an installation system, since I know that the installation of MultiOnline is something which may scare some people, so I'll try to make it more friendly.

    MultiOnline uses Unity Network class, so it has the same strengths and weaknesses, and it uses the same elements (as networkViews, RPC...).
    That's not a system totaly new that I created fully myself, that's just a way to have quickly a full multiplayer system by using Unity's network system, so it takes advantage of the same tests and functionalities that Unity network system.
    Photon Server uses his own network system, so it is normal that have been most heavily tested.
     
    Last edited: Feb 26, 2014
  26. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,462
    I understand and agree that you are not building a new system and that you are leveraging unity's built-in networking. It seems to me that the uniqueness of MultiOnline is to bring the basic unity network to a much higher level. I truly think that your approach is really awesome and it makes perfect sense. One thing that it really needs now is more load testing to ensure that it is able to handle the load. Perhaps there is automated stress testing software that you could employ for this purpose. If you have an automated stress testing then there will be much more assurance on both your side and for potential users.
     
  27. ks1966

    ks1966

    Joined:
    Feb 5, 2014
    Posts:
    32
    it would definetelly be nice to save the chatlog into database, a sample (maybe with 2 characters) character choice section while registering (which should also saved in db) and a private chat systen (as you click on the user, you should be able to send a pm)

    these 3 will be like "bam!" thanks!
     
  28. VirtuElle

    VirtuElle

    Joined:
    Jan 27, 2013
    Posts:
    458
    I understand what you mean, I'll see if I can do something for that. And I'll also do an online demo soon, I think that it's something which can reassure users too.

    Thanks for your suggestions, it's always good to know which features users would like to have.
    About a private chat/message system, I'm quite agree with you, since it goes in the same way as the friend list system.
    About the other things, I take it in note, I'll see if some other users would find it useful.
     
  29. Sergasteam

    Sergasteam

    Joined:
    Mar 1, 2013
    Posts:
    113
    How can i make a system nickname on players? at least the names of the players on the boxes. I can't understand where i can get playerlist and add to it boxes. Please Answer me. It's will be a good feature for your next version.
     
  30. Sergasteam

    Sergasteam

    Joined:
    Mar 1, 2013
    Posts:
    113
    Hello VirtuElle, can you answer me please? I don't know how can i show nicknames in top of boxes of all players as example? It's good feature for your next version of this tool i think. Thanks if you answer.
     
  31. VirtuElle

    VirtuElle

    Joined:
    Jan 27, 2013
    Posts:
    458
    Hi,

    About how find the player info and the playerlist, I have already explained how find it in someone else in the Thread (page 6),, it's quite easy:

    Everything you could need about the current player (userName, id, ip, is player login, is player in game...) is in MPlayerData script.
    You can access to this script from anywhere with this code:
    Code (csharp):
    1.  
    2. playerDataObj =  GameObject.Find ("PlayerData(Clone)"); // Get the playerData component
    3. playerDataSrc = playerDataObj.GetComponent<MPlayerData>(); // Get the playerData script
    4.  
    And if you need the userName for example, you can get it in this way:
    Code (csharp):
    1.  
    2. playerDataSrc.nameInGame;
    3.  
    And if you need the list off all the players of the current game, it's in MNetwork, look at the playerList it's a C# List, type of <MUser>.
    It is declared in MNetwork line 62.

    And about how write in in box above the player, someone in the Thread had given this link, it may help you: http://forum.unity3d.com/threads/81560-Health-Bar-above-ememy

    PS: sorry, but I don't spend all my time to look this Thread, so I cannot always answer in the minute ;)
     
  32. Sergasteam

    Sergasteam

    Joined:
    Mar 1, 2013
    Posts:
    113
    How to write a player's name above the box, I know, but I can not synchronize the players' names on the boxes, which function RPC is responsible for synchronizing all the names of clients and the server? Could not tell?
     
  33. Sergasteam

    Sergasteam

    Joined:
    Mar 1, 2013
    Posts:
    113
    It turns out that I did so as you recommend, as a result of clients and the server can only see their names on the boxes and other players' names do not appear because they are not synchronized.
     
  34. Sergasteam

    Sergasteam

    Joined:
    Mar 1, 2013
    Posts:
    113
    That's how I get a list of players

    Code (csharp):
    1. var NMeneger:GameObject;
    2. var NMeneger1:GameObject;
    3. var PlList:String[];
    4. var CountPlayers:int=0;
    5. var PLName:String="";
    6.  
    7. function Update () {
    8. if (networkView.isMine) {
    9. NMeneger1=GameObject.Find("PlayerData(Clone)");
    10. PLName=NMeneger1.transform.GetComponent("MPlayerData").userName;
    11. transform.GetComponent(TextMesh).text=PLName;
    12. }
    13. NMeneger=GameObject.Find("NetworkManager(Clone)");
    14. CountPlayers=NMeneger.transform.GetComponent("MNetwork").PNamesContent.Count;
    15. PlList=new String[CountPlayers];
    16. for (var i:int=0;i<CountPlayers;i++){
    17. PlList[i]=NMeneger.transform.GetComponent("MNetwork").PNamesContent[i];
    18. }
    19. }
    20.  
    21. function OnGUI(){
    22. if (networkView.isMine) {
    23. for (var j:int=0;j<PlList.Length;j++)
    24. GUI.Label(Rect(0,150+j*30,300,30),"Player: "+PlList[j]+" in game.");
    25. }
    26. }
    Code (csharp):
    1.  
    2. ....
    3. public string chatButtonTxt = "Send";// Your script fragment
    4.     public string namePlayer; //my
    5.     private bool onceCheck=true; //my
    6. .....
    7. void OnGUI(){  
    8.         if(!networkSrc.isGameServerRebuild  !networkSrc.isGameServerRebuildFailed  !networkSrc.isPlayerExitGame  networkSrc.isGameStarted) {                                                                 //Your script fragment
    9.             namePlayer=networkSrc.playerDataSrc.nameInGame;       //As you recommends
    10.                         GUI.Label(new Rect(0,100,130,30),namePlayer);
    11.             if (onceCheck){
    12.                 PlayerNames(namePlayer);
    13.                 onceCheck=false;
    14.             }
    15. ......
    16. private void PlayerNames(string nameP){                //my function
    17.         networkSrc.SendPlayerNames(nameP);     
    18.     }
    19.  
    Code (csharp):
    1. public List<String> chatContent;   
    Code (csharp):
    1.  
    2. public List<String> chatContent;
    3. public List<String> PNamesContent;
    4. ............
    5. [RPC]
    6.     void PlayerNames(string nameP){
    7.         PNamesContent.Add (nameP);
    8.     }
    9.  
    As result in next screenshot with my new script:
    $1.jpg
     
  35. VirtuElle

    VirtuElle

    Joined:
    Jan 27, 2013
    Posts:
    458
    I don't really unserstand why you added a new player list, since the full player list is already avaible in MNetwork line 62
    Code (csharp):
    1. public List<MUser> playerList;
    Why create an other, did I missed something ?

    If I look at you script, the player name is written from the Update() function of you first js script, isn't it ?
    The problem is that the name is set only for the current player, you need to write the name for each player.
    I think that you should use the playerList which is in MNetwork, browse the player list, search each player from his NetworkView id (it's "gameId" in the playerlist), and write his name above each player.

    I think that I will add it in new version because it's something often ask, and which can be quite complicate to do.
     
  36. Sergasteam

    Sergasteam

    Joined:
    Mar 1, 2013
    Posts:
    113
    Thank you, if you will adding this function in new version, it will be very good and I will look forward to the new version. Still would like when player has left from game the screen displays the text about the player has left.
    But can you tell me please? how soon will release a new version?
     
    Last edited: Mar 1, 2014
  37. ks1966

    ks1966

    Joined:
    Feb 5, 2014
    Posts:
    32
    Hi again, I purchased the tool today and it is working very well, except I could ot open any port on my computer yet :) I will take care of it. I have another question:

    I created the game, exe files etc. and the people downloaded it and we played together. after a few days, Lets say I upadeted/created a map, and simply added a few trees on the map. Do I have to build the game.exe again and the people also have to download it again; or will their game also updated after I create the new exe file or how does it work with fr example game updates? thanks!
     
  38. VirtuElle

    VirtuElle

    Joined:
    Jan 27, 2013
    Posts:
    458
    Just destroy the TextMesh.
    You can look in MNetwork, the function ExitGame() (line 362) is called when the player exits the game, you can use it to destroy the TextMesh too.
    About new version, as I told before, I cannot give any date for the moment, since I have a lot of work.

    For open the port, you have to do in your router, usually, you can access to his admin panel by enter his IP on your web browser.

    About your question, it doesn't depends of MultiOnline, it only depends of the architecture of your game. A modification of a map require usually just a patch, not the downloading of all the game, but it really depends of how you do your game.
    I let you inform about how the updates work.
     
  39. mkgame

    mkgame

    Joined:
    Feb 24, 2014
    Posts:
    592
    Very much thanks for this fast, detailed description.

    However, different linux distributions can have different default behaviors. Im already debuged and fixed it in my case. And i was also looking for the default encryption behavior for PHP, but i didn't find any solutions. I didn't just change the password, but this was the most annoying at all. A variable length (VARCHAR(65.535)) could be defined in the DB to avoid this. This was realy hard to find, because just the last, or the last 2 Bytes were missing.
     
  40. ks1966

    ks1966

    Joined:
    Feb 5, 2014
    Posts:
    32
    I am building my games with just updating you demo maps in the game, so for example in demo map 1, I added a tree on the map. How will the map be updated on others computrs? So, basically we have game files and the gaem which we created with these files. We play game via the exe file, and the others also download the exe files and we play the game. so where are the game files stored? On my computer in the folder where i created the game, or in the exe files, or on my host where i uploaded the php files? (i mean i know not on the php files but what i want to ask is where are the files stored)

    so, if we play 4 people a game and we are online and there is a tree on the map, where is this tree actually located? where is this tree file? in our own exe files? if yes, then we should all download the latest created game with the treee on the map so that we can all see the tree, otherweise who downloaded the latest game, they will be able to see the tree but the others who downloaded the game before the tree update, they will not able to see the tree, right?

    so, as the creator of the game, what should my users do to be able to see the updated map? thanks!
     
  41. VirtuElle

    VirtuElle

    Joined:
    Jan 27, 2013
    Posts:
    458
    Ok, when you build a game, Unity creates a .exe file, and a folder (named in the same way as the .exe file). All the games' files are in this folder, but that's compiled files, you can look that this folder, you'll see that the files doesn't look as these you have in Unity.
    So, when you distribute you game, you have to give the .exe and this folder to your users (if you try to delete the folder, you'll have an error when you'll launch the .exe, because all the game's data are in this folder.

    Your webhosting contains the php files and the database. These elements are only used to register the users and the current open games. There is no games elements stored there, only data about players.

    So, in your example, your tree will be stored in the .exe file and his folder, and, yes, if you change the map you have to rebuild the game, and the players have to update their games (with a patch or a new full download depending your choice).
     
  42. VirtuElle

    VirtuElle

    Joined:
    Jan 27, 2013
    Posts:
    458
    Ok, so does everything works correctly now ?
     
  43. ks1966

    ks1966

    Joined:
    Feb 5, 2014
    Posts:
    32
    Alright, you just gave the answer that i wanted. thank you, i really appreciate your help. Yeah, as you said we have the files which comes with the game (an exe file and the folder) so all of the stuff that we created are in that folder, so everybody reads the items,trees,terrains locally. that is clear now! (so because of this, then if i host a game on my vps, because the files are actually stored on local computers, my vps will not use so much bandwith, this is also good to know :) )

    so, for example i updated a map, do you suggest to just to share the updated file and want the users to change it with the old file, or is there a way that after I update the game, they get a warning which says "the game is updated , plase update the game" or is there a way to let the game updated its self automatically when the user click on game.exe. How can I make it happen that the user clicks on game.exe, and it updates the game automatically?

    thanks!

    Added: Ok, forget it. i looked for it in google and saw that for this feature we need to build custom codes or puchase an "patcher/updater" script from asset store thanks for you help :)

    have a nice day!
     
    Last edited: Mar 2, 2014
  44. VirtuElle

    VirtuElle

    Joined:
    Jan 27, 2013
    Posts:
    458
    You're welcome, I'm glad I could help you. If you have any other question, feel free to ask it.
     
  45. ks1966

    ks1966

    Joined:
    Feb 5, 2014
    Posts:
    32
    In your earlier answers, to my suggestion which is creating a gem on a vps or vds and hold it online, then all users connect to that person who created the game on that vds. You told that from one machine/pc we can only host 1 game. How can i open more games on the same vds (coz it has good resources like ram, harddisk, cores etc.) Do I only need different ip address? thanks!
     
  46. CirqueTech

    CirqueTech

    Joined:
    Feb 6, 2014
    Posts:
    6
    Hi I want to ask one question . Can we use this kit on free web hosting ?
     
  47. ks1966

    ks1966

    Joined:
    Feb 5, 2014
    Posts:
    32
    in his first post, he already wrote that it works with simple hosting. also on demo video, he uses a 10mb free hosting. that means, yes ;)
     
  48. VirtuElle

    VirtuElle

    Joined:
    Jan 27, 2013
    Posts:
    458
    Hi, I don't think that I told you that a pc can host only one game, or it was a mistake.
    It depends of your game's type, for a big multiplayer game as Battelfied, that's usually one server by game, because it needs a lot of resource. But for a chess game for example, you could have a lot of game in only one server/vps/pc.
    Technically, you can host as much games as you opened ports, the rule is one game by port.

    So, about how many games you can host in your vps/server, it depends only of you game type and your vps/server capacities.
     
  49. mkgame

    mkgame

    Joined:
    Feb 24, 2014
    Posts:
    592
    Yes, everything is fine.

     
  50. ks1966

    ks1966

    Joined:
    Feb 5, 2014
    Posts:
    32
    Yea sorry my bad. it was one game for one port. yeah, you are right. the vds Server that i have has the all ports open. What I actually want to do is, rather than havin g a game where can be like 1000 Players on the same map, i want to create 5 games with 200 People Limitation each. that is all, so as you said if i have open ports than it is ok. i got my answer, thank you :))

    Virtuelle, I have a problem with character change. In documentation, what you wrote i just did the same thing but it keeps spawning the cubes.

    I created a prefab with the new character, i also added components like you said in the pdf, attachd the came too, then click on spawns and addd there the new character, i also added spawns on the map which is for the new character but I couldnt do it.

    Can you please record a video via screenr which shows, download a free character from asset store and step by step player change. this is important, i think nobody wants to play with a cube as you also said in the pdf. I just did almost everthing excpt character change. please a video, which shows that you open a free character from asset store and change it step by step with the cube. Thanks! (asap please)
     
    Last edited: Mar 4, 2014