Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[Released] Bolt, The new generation of networking solution for unity!

Discussion in 'Assets and Asset Store' started by fholm, May 30, 2014.

  1. CodeBison

    CodeBison

    Joined:
    Feb 1, 2014
    Posts:
    288
    I'm seeing similar issues in v0427 debug under Unity 5 RC1.

    I followed the 105 tutorial, with the only change being to add a for i=1 to 50 loop in the NetworkCallbacks script's SceneLoadLocalDone method to make each instance spawn 50 bots instead of 1. With one client connected, about 40 of the bots have their positions updated correctly over the network while moving. When movement stops, the other bots jump to the correct positions.

    I'm guessing this is due to the lower performance of the debug version of Bolt. Are you planning to start posting Release versions for Unity 5 soon? I'd like to be able to get a sense of the real performance I'll be able to see.

    Thanks!
     
  2. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    I have not tested Bolt on Unity5 RC1 yet, the next release of Bolt (0.4.2.9) will be available in both release and debug builds for U5RC1
     
  3. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    l'll take a look at this today, if there is an issue I will make sure to produce a hotfix for it today.
     
  4. TheBraxton

    TheBraxton

    Joined:
    Mar 6, 2014
    Posts:
    98
    Woo, thanks bud :)! Yeh, i'm just spawning 40 bots and having them move in a circle, and 2-4 of them just sit in place. This happens on BOTH Release and Debug versions. So it doesn't appear to be directly related to a performance issue with one or the other.

    It is very easy to replicate the issue :eek:!
     
  5. TheBraxton

    TheBraxton

    Joined:
    Mar 6, 2014
    Posts:
    98
    Hey, can you also look into the Chapter 4 and 5 of the FPS example? They're completely broken :(. The Chapter4 one is so out of date in terms of how mechanim stuff is handled that it gets confusing. Not to mention that Chapter 4 doesn't even link correctly to Chapter 5.

    On top of all of this, Chapter 5 is using completely different code than Chapter 4, and is missing MANY MANY MANY steps between 4 -> 5 that it is completely unusable. At this point we're only treated to a workable Chapters 1-3 on that front.

    Thanks bud :D!

    Reference: Advanced Tutorial on http://wiki.boltengine.com/
     
  6. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    TheBraxton: I did check out the issue with spawning a ton of objects, and I can't seem to replicate the problems you're having, everything replicates fine here (even up to a few hundred objects).

    Yeah, the "advanced tutorial" is out of date, we're working on an update.
     
  7. TheBraxton

    TheBraxton

    Joined:
    Mar 6, 2014
    Posts:
    98
    I see :(

    I've replicated the issue multiple times with latest, and 4.2.5 builds both Release and Debug? Perhaps it has to do with how we're spawning those moving objects? Did you use the 101 -> 105 tutorial as your base :eek:?
     
  8. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    @TheBraxton I did not use the 101 -> 105 as a base no, if you want I can give you some more direct help over on the jabbr chat or through email (support@boltengine.com), you can send me some code or even the entire project (if possible) ? and I will make sure to resolve any issues you're having
     
  9. TheBraxton

    TheBraxton

    Joined:
    Mar 6, 2014
    Posts:
    98
    Sure, I'll see about packing up something small to send to you as an example :)! Thanks!


    Also, I found the vehicle sample which was very impressive to "look at" on that youtube video you made back from 0.2.0.4 but after trying to get it working with latest (trying to update it) left me in shambles hah. Any chance that when you look at finishing the Advanced Tutorial that you could also update the vehicle sample to latest :)? Everything has just changed so much its hard to figure out what is supposed to go where (there's so much to bolt!).

    So far looking slick tho, now if only I could figure out how to use more than 5% of it all haha xD!
     
    hopeful likes this.
  10. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
  11. shwa

    shwa

    Joined:
    Apr 9, 2012
    Posts:
    461
    Hi,
    Recently bought bolt.
    Asset store version is Beta-0.4.2.5 (Feb 03, 2015).

    Does anyone know if this will work with Unity 4.21F4 ?

    thanks!
     
  12. GD-Darren

    GD-Darren

    Joined:
    Jan 12, 2013
    Posts:
    53
    How many constant players on the same map would this be able to have? Would other solutions be better for 100-200 players on the same map fighting, using skills etc...?
    Does Bolt support multiple instances of the same map network handling (like a MOBA)?
     
  13. RJBAngelo

    RJBAngelo

    Joined:
    Feb 12, 2015
    Posts:
    1
    So far experiments from multiple people yield a max player count of 38 before things stop working properly. FHolm mentioned something about getting up to 100 or so but never mentions if it stops at that (I assume it would?).

    I'm confused about this because using the stock Unity Networking methods i was able to get 1000 spheres moving around on a plane before it started lagging. So I'm wondering if there's something wrong with Bolt, or if we have to do some sort of buffering/pooling to keep more than 100 players on a single server moving around.

    May even need to break out tasks into different helper servers to handle different tasks (one for player movement, one for combat, one for NPC updates, etc)?
     
  14. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    RJBAngelo: I think the issue TheBraxton was having was not with 38 players, but with just ~40 spheres. There should be no issue what so ever with ~100 players in Bolt, at all.

    For reference, 'The Forest' uses Bolt, where there is about 12 000 entities spawn (objects) in the game when a new game is started, and some people have ran servers with over 80 players on them.

    There should be absolutely no need to break it into several servers, etc.
     
  15. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    Hey!

    Can you check with the latest 0.4.2.9 build (up on asset store now, or from our site), if you were using extrapolation for the entities there was an issue due to a bug in unitys Quaternion.AngleToAxis implementation which would cause the clients to start throwing errors due to it splitting the quaternion into a NaN,NaN,NaN axis. This would cause serious performance issues.
     
  16. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    Hey so, I did actually notice an issue with the default priority calculator in Bolt (which is a simple round-robin one), I fixed this issue in the 0.4.2.10 build that's up on our site (www.boltengine.com/download).

    You can download the package from us using your asset store invoice number!
     
  17. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
  18. shwa

    shwa

    Joined:
    Apr 9, 2012
    Posts:
    461
    HI again,
    I'm new to Bolt and not super code savvy.

    - * never mind, found the advancedtutorial demo:

    Is there a working demo somewhere that can be downloaded by Bolt customers?
    A finished demo scene that can be worked with in unity authoring that allows for 2 or more players to enter a shared networked space?

    thanks!
    - shwa
     
    Last edited: Feb 12, 2015
  19. MikeCoderMore

    MikeCoderMore

    Joined:
    Sep 22, 2013
    Posts:
    61
    hi dose bolt work with windows phone 8 i see on page 1 you say windows phone 8 coming soon? also dose it work with 64bit iOS

    Thanks Mike
     
  20. GXMark

    GXMark

    Joined:
    Oct 13, 2012
    Posts:
    514
    I have just purchased bolt and am completely impressed by its functionality.

    I have a question regarding replicating to proxies on a server where a terrain is divided into segments.

    Let say a terrain has zones A, B, and C. Can an owner in zone A only send to proxies residing in zone A?

    The proxies segment could be stored on the authoritative server node and therefore is there a way for this authoritvive server to only send to these particular proxies? In uLink i used to be able to achieve this by RPC call to a players ID.

    The reason why i want to do this is to limit the network traffic to a defined list of proxies on a server to reduce network traffic.


    I believe Bolt uses an overriding InScope concept to achieve this. How does InScope allow you to achieve zone replication ?

    Idle(BoltConnection connection, bool idle) is this what i would use?
     
    Last edited: Feb 14, 2015
  21. CodeBison

    CodeBison

    Joined:
    Feb 1, 2014
    Posts:
    288
    Just tried 0.4.2.9 debug (don't see release for U5 yet), and I'm still seeing the same behaviour. With one client connected, there are 100 objects (50 controlled by server, 50 controlled by client). When either the server or client is moving, two or three of the objects on the other system just walk in place until movement is stopped, then they jump to their destination. I zipped up my project here in case it helps: https://www.dropbox.com/s/tbey6jrpkuz7ev9/Bolt Tutorial.zip?dl=0
     
  22. MidgardDev

    MidgardDev

    Joined:
    Dec 11, 2012
    Posts:
    47
    Hi, fholm!

    I have two questions for you, I'm in a small team developing a top-down arena multiplayer shooter and would like to know:

    1. As I have seen you years ago working with the Lidgren Network library, is this built on top of that?
    2. Could we have a dedicated server console application? We also want people to be able to host matches peer to peer, but dedicated servers with stable ping would be great too.

    Thanks for this, looks really awesome.
     
  23. CodeBison

    CodeBison

    Joined:
    Feb 1, 2014
    Posts:
    288
    0.4.2.10 solves the issue.
     
    hopeful likes this.
  24. TheBraxton

    TheBraxton

    Joined:
    Mar 6, 2014
    Posts:
    98
    Woot!

    I'll be testing this out within the next couple of days. Thanks FHolm :)!
     
  25. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    zyzyx likes this.
  26. Megagamefan100

    Megagamefan100

    Joined:
    Oct 24, 2012
    Posts:
    26
    I wanted to know if I could use the Bolt logo in my game what I mean is (This is using (logo here)) is that okay?
     
  27. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    What you're wanting to do is credit Bolt in your game, and use their logo when you do so ... right?
     
  28. Megagamefan100

    Megagamefan100

    Joined:
    Oct 24, 2012
    Posts:
    26
  29. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    this is perfectly fine :)
     
  30. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
  31. Gekigengar

    Gekigengar

    Joined:
    Jan 20, 2013
    Posts:
    738
    Any tutorials on using Bolt for a dedicated server?
     
  32. Cryonics

    Cryonics

    Joined:
    Sep 30, 2013
    Posts:
    11
    Noticed that the 'Debug Start' button was missing in the new Unity 5, after upgrading yesterday.

    I found this in the tutorial:
    "This window looks a bit different depending on if you have Unity Pro or not, the window in the screenshot above is the version in Unity Pro, and if you have Unity Free you will not see the Debug Start Settings options or the Debug Start button."

    That would probably explain why I could see it with my trial version of Unity Pro before upgrading. Seeing as Unity 5 is now free, I take it that fixing this is doable, right?

    BTW. I tried to register on the Bolt forums so that I could ask for help, but I coulnd't. It says: "The solution of task you submitted was incorrect. Please read the instruction and try again.", when I commit my information. WHAT TASK? :confused:
     
    Last edited: Mar 4, 2015
  33. Cryonics

    Cryonics

    Joined:
    Sep 30, 2013
    Posts:
    11
    Its been a while since I've seen any activity here, and no response to my last post. I'm a new adopter of Bolt, and this is not really the best support I've seen so far. What's up with that? Still I'm gonna try my luck with this next one as well, as it is completely broken!

    So I've encountered a problem described by someone else in this thread HERE.
    Thing is, that I'm certain that no scene objects has a script with the GlobalEventListener interface attached. The callbacks are still run twice. Note that it's not just SceneLoadRemoteDone that gets run twice. It's everything - the print statements confirm this.

    ServerCallbacks:

    Code (CSharp):
    1.  
    2. using UnityEngine;
    3. using UnityEngine.UI;
    4. using System.Collections;
    5. using System.Collections.Generic;
    6.  
    7. [BoltGlobalBehaviour(BoltNetworkModes.Server, "TestScene")]
    8. public class ServerCallbacks : Bolt.GlobalEventListener {
    9.     void Awake() {
    10.         if(PlayerObjectRegistry.allPlayers().Count == 0){
    11.             PlayerObjectRegistry.CreateServerPlayer();
    12.             print ("============ Server Player Connected! ============");
    13.             print ("# of players: " + PlayerObjectRegistry.countPlayers());
    14.         }
    15.     }
    16.  
    17.     public override void Connected(BoltConnection arg) {
    18.         PlayerObjectRegistry.CreateClientPlayer(arg);
    19.         print ("============ Connection Established! ============");
    20.         print ("# of players: " + PlayerObjectRegistry.countPlayers());
    21.     }
    22.  
    23.     public override void SceneLoadLocalDone(string map) {
    24.         PlayerObjectRegistry.serverPlayer.Spawn();
    25.         print("SPAWNING SERVER CHARACTER!");
    26.     }
    27.  
    28.     public override void SceneLoadRemoteDone(BoltConnection connection) {
    29.         PlayerObjectRegistry.GetPlayer(connection).Spawn();
    30.         print("SPAWNING CLIENT CHARACTER!");
    31.     }
    32. }
    ClientCallbacks:

    Code (CSharp):
    1. using UnityEngine;
    2. using UnityEngine.UI;
    3. using System.Collections;
    4. using System.Collections.Generic;
    5.  
    6. [BoltGlobalBehaviour("TestScene")]
    7. public class PlayerCallbacks : Bolt.GlobalEventListener
    8. {
    9.     GameObject camera;
    10.     BoltEntity character;
    11.     CameraScript camScript;
    12.     managerScript manager;
    13.  
    14.     public override void ControlOfEntityGained (BoltEntity arg)
    15.     {
    16.         manager = GameObject.Find ("GameManager").GetComponent<managerScript> ();
    17.         if(!camera)camera = (GameObject)Instantiate (manager.cameraPrefab, new Vector3 (0, 3, -7), Quaternion.Euler(10, 0, 0) );
    18.         camScript = camera.GetComponent<CameraScript> ();
    19.         print ("Camera instantiated!");
    20.  
    21.         if (camScript) {
    22.             camScript.SetTarget (arg);
    23.         } else {
    24.             print ("=========== cameraScript NOT found... ================");
    25.         }
    26.     }
    27. }


     
  34. Yukichu

    Yukichu

    Joined:
    Apr 2, 2013
    Posts:
    420
    If you can't get a response on the actual forums, you could try to get a response on the JabbR chatroom.

    Are you absolutely sure that PlayerCallbacks script is not attached to something in the scene, or a prefab you're creating, or something?? Because I have 3-4 GlobalEventListeners and they do not send double-callbacks.

    If you'd like some ways to test this... remove the BoltGlobalBehaviour decorator, create a scene object, and attach it to that object. Does it run twice? If so, remove it from the object. Does it now run once?

    What does .Spawn() do for some of those things?

    The basic idea is that if you define a BoltGlobalBehaviour you don't need to implicitly create/assign the script in a scene view, as Bolt will handle that... so you can have some refined behavior depending if it's client/server/specific scene.

    Try changing it to [BoltGlobalBehaviour] ... try just removing the scene. Not sure what's up, but it definitely sounds like you have a script attached to a scene / instantiated-prefab in addition to Bolt creating the global behavior when it starts.

    As for the previous question about Bolt launcher / clients. I don't know. It's probably being worked on, but Unity5 support wasn't really active until recently. They -just- announced the public version a week ago.

    In regards to the forum, I don't know... try registering with a different browser, or turn off adblock. No idea.

    As for not being the best support so far... try the actual forum, not the Unity forum. Then go to JabbR and just ask the 5-10 active people who are there usually available for help, or even fholm himself who is usually there. I mean, you can actually ask the creator a question about in-depth crazy weird issues, like why does my interpolation occasionally warp to 0,0,0, etc.
     
  35. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229

    Pretty sure it is stated several places within this thread that the place to request support is over at their forums on the boltengine.com website. I think the main thing fholm is doing here now is release announcements. The forums over there look to be pretty active. The Support section alone has had several posts/responses the past few days... Here is a direct link to that section: http://forum.boltengine.com/viewforum.php?f=6&sid=80593cdf5a28644182d8d1a4707c109c
     
  36. LaneFox

    LaneFox

    Joined:
    Jun 29, 2011
    Posts:
    7,462
    The Jabbr channel is where it all happens.
     
  37. Cryonics

    Cryonics

    Joined:
    Sep 30, 2013
    Posts:
    11
    Thanks for responding. :)
    I ended up making a new project from scratch. I copied the assets over, and recreated the scene. Now it works. I'm still pretty certain that I didn't have any scene objects with the GlobalEventListeners attached.
    Also I managed to get registration to work on the forums. For some reason it wasn't displaying the puzzle.
    I'll check out Jabbr as well. Cya there
     
  38. Elzean

    Elzean

    Joined:
    Nov 25, 2011
    Posts:
    584
    Is it possible to use IOS game center matchmaking system to connect 2 players ? Is there a tutorial on how bolt connect 2 players together in a peer to peer way ?
     
  39. Singtaa

    Singtaa

    Joined:
    Dec 14, 2010
    Posts:
    492
    You should be looking at one of the Prime31 plugins. Bolt is much more general purpose than iOS Game Center match making.
     
  40. OnePxl

    OnePxl

    Joined:
    Aug 6, 2012
    Posts:
    307
    Theoretically you could do the matchmaking using Gamecenter and then send the actual networking messages using Bolt. You could send the required connection info for Bolt over Gamecenter and then have Bolt take over?
     
  41. Neo-Gamefactory

    Neo-Gamefactory

    Joined:
    Oct 18, 2012
    Posts:
    145
    Hey, i have a PHP Script in my Webserver that gives me my WANip
    WIth this IP i start my Server in Bolt and use the Port 54321
    But he doesn't create a server... why?

    If i use the localhost (127.0.0.1) then it works and it loads the map with "BoltNetwork.LoadScene(###);" but with WANip not... why?

    Like this

    Code (CSharp):
    1.     public void CheckServer ()
    2.     {
    3.  
    4.  
    5.         StartCoroutine (handleIP());
    6.  
    7.  
    8.  
    9.        // StartCoroutine (WaitForHosting());
    10.  
    11.  
    12.      
    13.  
    14.  
    15.     }
    16.  
    17.  
    18.  
    19.     IEnumerator handleIP ()
    20.     {
    21.         WWW searchServer = new WWW ("########/joinserver.php");
    22.  
    23.         yield return searchServer;
    24.  
    25.      
    26.         BoltNetwork.EnableUPnP ();
    27.         BoltNetwork.OpenPortUPnP (54321);
    28.  
    29.  
    30.  
    31.         if (searchServer.text == "nothing")
    32.         {
    33.  
    34.             WWW readIP2 = new WWW ("########/ip.php");
    35.  
    36.             yield return readIP2;
    37.  
    38.             BoltLauncher.StartServer (UdpKit.UdpEndPoint.Parse (readIP2.text + ":54321"));
    39.             BoltNetwork.LoadScene ("multiplayer map");
    40.  
    41.  
    42.  
    43.             //new WWW ("######/createserver.php?servername=OncomingDeath");
    44.  
    45.  
    46.             //Debug.Log ("Hallo");
    47.  
    48.  
    49.  
    50.  
    51.  
    52.  
    53.  
    54.  
    55.         }
    56.         else if (searchServer.text == "found")
    57.         {
    58.  
    59.             WWW readIP = new WWW ("########/getserver.php");
    60.  
    61.             yield return readIP;
    62.  
    63.  
    64.             BoltLauncher.StartClient ();
    65.  
    66.             BoltNetwork.Connect (UdpKit.UdpEndPoint.Parse (readIP.text + ":54321"));
    67.  
    68.  
    69.         }
    70.      
    71.     }
     
  42. Yukichu

    Yukichu

    Joined:
    Apr 2, 2013
    Posts:
    420
    Try 0.0.0.0 for the server IP. I don't know the 'why' 100% other than it's listening on a port. By saying listen on 24.3.12.233 port 54321, you're telling it listen on that port only on that IP address. 0.0.0.0 or UdpIpAddress.Any (or something like that) says, oh hey let's listen on all network interfaces on this port.
     
  43. Neo-Gamefactory

    Neo-Gamefactory

    Joined:
    Oct 18, 2012
    Posts:
    145
    With 0.0.0.0 it starts a server... i test to connect with the wan ip. i hope it works :)
     
  44. Neo-Gamefactory

    Neo-Gamefactory

    Joined:
    Oct 18, 2012
    Posts:
    145
    It shows me the bolt toolbar after connecting but doesn't load the map... i changed my code to this

    ....but map does not load after connecting...

    Code (CSharp):
    1. using UnityEngine;
    2. using System.Collections;
    3.  
    4.  
    5.  
    6.  
    7. public class Mutliplayer : MonoBehaviour
    8. {
    9.  
    10.  
    11.  
    12.  
    13.  
    14.  
    15.  
    16.  
    17.  
    18.  
    19.  
    20.     public void CheckServer ()
    21.     {
    22.  
    23.  
    24.         StartCoroutine (handleIP());
    25.  
    26.  
    27.  
    28.        // StartCoroutine (WaitForHosting());
    29.  
    30.  
    31.      
    32.  
    33.  
    34.     }
    35.  
    36.  
    37.  
    38.     IEnumerator handleIP ()
    39.     {
    40.         WWW searchServer = new WWW ("######/joinserver.php");
    41.  
    42.         yield return searchServer;
    43.  
    44.      
    45.         BoltNetwork.EnableUPnP ();
    46.         BoltNetwork.OpenPortUPnP (54321);
    47.  
    48.  
    49.  
    50.         if (searchServer.text == "nothing")
    51.         {
    52.  
    53.             WWW readIP2 = new WWW ("#####/ip.php");
    54.  
    55.             yield return readIP2;
    56.  
    57.             BoltLauncher.StartServer (UdpKit.UdpEndPoint.Parse ("0.0.0.0" + ":54321"));
    58.          
    59.  
    60.  
    61.  
    62.             WWW createServer = new WWW ("#####/createserver.php?servername=OncomingDeath");
    63.  
    64.             yield return createServer;
    65.  
    66.             BoltNetwork.LoadScene ("multiplayer map");
    67.  
    68.  
    69.             //Debug.Log ("Hallo");
    70.  
    71.  
    72.  
    73.  
    74.  
    75.  
    76.  
    77.  
    78.         }
    79.         else if (searchServer.text == "found")
    80.         {
    81.  
    82.             WWW readIP = new WWW ("######/getserver.php");
    83.  
    84.             yield return readIP;
    85.  
    86.  
    87.             BoltLauncher.StartClient ();
    88.  
    89.             BoltNetwork.Connect (UdpKit.UdpEndPoint.Parse (readIP.text + ":54321"));
    90.  
    91.             if (BoltNetwork.isConnected)
    92.                 BoltNetwork.LoadScene ("multiplayer map");
    93.  
    94.  
    95.         }
    96.      
    97.     }
     
    Last edited: Mar 21, 2015
  45. Neo-Gamefactory

    Neo-Gamefactory

    Joined:
    Oct 18, 2012
    Posts:
    145
    with
    Code (CSharp):
    1. ...
    2. public class Mutliplayer : Bolt.GlobalEventListener
    3. ......
    4.  
    5.  
    6. public override void Connected (BoltConnection connection)
    7.     {
    8.         Debug.Log ("connected");
    9.         BoltNetwork.LoadScene ("multiplayer map");
    10.     }
    it also doesn't work.... port problem? but i use the upnp...hmmm
     
  46. Neo-Gamefactory

    Neo-Gamefactory

    Joined:
    Oct 18, 2012
    Posts:
    145
    1.
    Code (CSharp):
    1.     BoltNetwork.EnableUPnP ();
    2.         BoltNetwork.OpenPortUPnP (54321);
    This must be after -- BoltLauncher.StartServer (UdpKit.UdpEndPoint.Parse ("0.0.0.0" + ":54321")); --

    2. UPnP must be enable in the FritzBox ;) it works now. Thanks for help.
    I also use this Code for Server starting

    Code (CSharp):
    1. BoltLauncher.StartServer (new UdpKit.UdpEndPoint (UdpKit.UdpIPv4Address.Any, (ushort)54321));
     
    OnePxl likes this.
  47. Neo-Gamefactory

    Neo-Gamefactory

    Joined:
    Oct 18, 2012
    Posts:
    145
    sometimes it works.... sometimes not... i hate Multiplayer scripting :D
     
    Last edited: Mar 22, 2015
  48. Neo-Gamefactory

    Neo-Gamefactory

    Joined:
    Oct 18, 2012
    Posts:
    145
    Is it possible to test a port? If it open or not.. If not then open it with upnp..?
     
  49. Yukichu

    Yukichu

    Joined:
    Apr 2, 2013
    Posts:
    420
    For a more official answer, I'd ask fholm (or others) on Jabbr, or maybe the official forums. My knowledge is that there is not this functionality, nor would I know how to even do this. So you want a client to try to connect to a server, find out a port isn't open, and then have the server start listening on that port?

    Bolt server starts on a specific port to listen on. Just one port. So are you going to start a whole new server instance? I mean, I guess if you can get information to the server with upnp, you could start a new server instance. It won't open a closed port, that's infrastructure.
     
  50. Neo-Gamefactory

    Neo-Gamefactory

    Joined:
    Oct 18, 2012
    Posts:
    145
    CloseUPnP don't work. It doesn't close the Port.

    And check if a port is open or not is only for the server ;)