mahdi71's Forum Posts

  • Why not ?

    Socket.io is far more susceptible to lag and packet sniffers.

    for packet sniffers you can sync things and make sure data will received

    but multiplayer plugin problems are :

    • some modem configures can not connect to it
    • all browser dont support it or dont support it well
    • when a user get disconnected (for net problems) it not reconnect to same room fast and we can reconnect it but it takes a lot of time for : connect to signalling > loggin > go to room > connect !

    it really not a good tool for big games because with socket.io you have control of everything and when a user get disconnect you can reconnect it fast

    multiplayer plugin just desing for small games . you can just play scirra ghost shooter demo wich you can not play it for more then 20m because game will end if you have a small connection problem !

  • Do not use multiplayer for big games.

    use socket.io plugin and nodejs server and then you can do anything you want

  • Commercial multiplayer games deploy servers around the world so players are never too far away from a server, which improves the reliability of connections. You can do the same by running your own signalling server in the same country/region as your players.

    Also I can tell you I've played some major commercial titles that had horrible connectivity over the Internet and would regularly kick me off

    yes internet have problem and users get disconnected but this problem is for a few second and in multiplayer plugin you must try to reconnect them to each other fast and if this few second get bigger then you must disconnect them !

    but in multiplayer plugin when they disconnect for just a second plugin disconnect them and doesn't try to reconnect them fast and we can not reconnect them fast because we must connect to your server and then login and then join room and then connect to game and this process take so much time for us .

    but in websocket we can connect them fast again !

    and due to this bug :

    scirra.com/forum/viewtopic.php?f=146&t=150590

    if host get disconnected from signalling server it does not know that sometimes !!!

  • No, WebRTC is not extremely buggy, nor is our signalling server unreliable. multiplayer.scirra.com runs on a dedicated server with a 1 gigabit direct connection to the Internet (there is no NAT).

    The problem is the Internet itself is sometimes unreliable. The quality of a connection between two random devices on the Internet is highly variable. If you cannot get a reliable connection to the US-based signalling server, running your own server closer to you is one possible solution, but that's not because WebRTC or our server sucks, it's because sending data over thousands and thousands of miles across the planet's surface is not a perfectly reliable process.

    There is so many games on the internet with no disconnection

    And they use internet too

    so multiplayer is unstable

    Socket.io v1.x plugin is vary better then multiplayer plugin!

  • The websocket connections are less reliable then the official scirra multiplayer connections.

    You will have to implement a method for redundancy in your connections with the node js server.

    Something like checking if a transmission has been received/processed, and if not, try again till it gets through or store information locally which can be updated once the connection is back.

    yes thanks for the advice i will sync everything in every sec !

  • hi

    i want to use websocket plugin(s) and i used official websocket + node js + ws for server but its not answer some times

    so what plugin and way is the best ?

    there are so many plugins for websocket and so many ways

    i want an stable way

  • As far as I am aware Multiplayer is stable - people getting disconnected is probably due to network connectivity issues over the Internet itself, which would affect any technology you use to connect.

    WebSocket is also limited to TCP transport which can make it perform poorly over unreliable connections.

    in this line you just said multiplayer is not stable ! yes internet have problem and users get disconnected but this problem is for a few second and in multiplayer plugin you must try to reconnect them to each other fast and if this few second get bigger then you must disconnect them !

    but in multiplayer plugin when they disconnect for just a second plugin disconnect them and doesn't try to reconnect them fast and we can not reconnect them fast because we must connect to your server and then login and then join room and then connect to game and this process take so much time for us .

    but in websocket we can connect them fast again !

    and due to this bug :

    scirra.com/forum/viewtopic.php?f=146&t=150590

    if host get disconnected from signalling server it does not know that sometimes !!!

  • >

    > > Which compiler gives posibility to make apk to android 5 and higher?

    > >

    > For android 5 just use webview it work like a pc and fully support of html5 and no add size

    >

    webview ? can you give us a link ?

    thanks

    Use normal android in xdk or webview in cocoon

    or ...

    Android 5 browser is chrome and in android 5 chrome has a good performance like native

    and webview use os browser (I tested android 5 and webview its really like native games)

    webview in android 5 :

    no additional size + native performance + fully html5 support + almost all android 5 devices have a good hardware

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Which compiler gives posibility to make apk to android 5 and higher?

    For android 5 just use webview it work like a pc and fully support of html5 and no add size

  • hi since multiplayer is not stable (users mostly disconnected) its might be good for small games but no good for big games.

    i have an idea which we can make a multiplayer with websocket and don't need to js programming !!!

    this is what we need :

    1 - nodejs server script

    2 - server side game

    3 - client side game

    so we need to make a node js to pass the all client messages to the host and pass host messages to a specific client !

    like this :

    all clients >> node js server >> server game (we can run node js and server game in single host so the latency is 0)

    game server >> node js server (get client username from the server message and send message to that user) >> a specific client

    client message type is : (c$tag$username$data)

    server message type is : (s$tag$username$data)

    i will say why we have this type of messages !

    so we need a node server to do that and i wanted to use ws module for nodejs but it doesn't respond sometimes !!

    this is my code for ws server :

    in my code server split messages and if "c" so this message from client and if "s" then its a server

    "tag" is like tag in multiplayer plugin

    "username" is client username (even in server messages)

    so in server game and client game we can split messages with tokenat and then use them !

    so anyone can help ?

    var WebSocketServer = require('ws').Server, wss = new WebSocketServer({port: 1337});
    var connections = {};
    wss.on('connection', function(ws) {
        ws.on('message', function(message,ws) {
            console.log('received: %s', message);
            
            var res = message.split("$");
            if(res[0] == "s")
            {
                ws.send(message);
                
                    if(res[1] == "login")
                    {
                        connections["server"] = ws;
                    }
                    else
                    {
                        ws.send(message);
                        if(connections["client"])
                        {
                            connections[res[2]].send(res[1] + res[3]);
                        }
                    }
                    
            }
            else
            {
                    if(res[1] == "login")
                    {
                        connections[res[2]] = ws;
                    }
                    else
                    {
                        connections["server"].send(res[1] + res[2] + res[3]);
                    }
            }
    
        });
        
    });
    [/code:2ebh4j8g]
  • hi ,

    i made a game based on multiplayer and i have a server so run my game in browser tabs as server and my clients connected to the server but its not stable

    signalling server get disconnect from my server so game is stuck and gamers will be disconnected and game was unsuccessfully finished

    and now i must buy signalling server ?!

    if i have signalling server in my server side so its not disconnected even if my server internet get disconnected

    so basically we can not make multiplayer games with c2 license and must buy multiplayer license

    why its not free ? when you can not do it let us do it !

  • I have this problem too !!

  • Ashley can you answer what i must do ?!

  • hi

    in multiplayer i want to check if game is disconnected so reconnect that again.

    after host and peer connected to each other i have no more "is connected" or "is logged in" work or ...

    but :

    i can use "is in room" condition for check if my peer is connected to host

    but how can i check if my host game is connected ? since host think it always in room !! but the other players can not join in that host because it not connected to signalling server !

    __

    you can test this in real time multiplayer example

    enter game and after connecting just disable your internet and wait for 5-70 sec then connect to internet

    and you will see sometimes "on signalling disconnected" not working!!!!!

    so in my server how can i check if its disconnect then connect again !?

  • i'm not talking about flash !! really when i talk about flash ?!!

    it simply get capx and get you a unity project (or maybe a unity package)

    it will write a unity game from capx

    and i dont like a limit thing like Canvas+ (sorry ludia but it is limit)

    i want to change entire project to unity and you can just use export option from unity and solve the performance problem!

    but it will be very easier to make a plugin like c2 for unity ! !!! but i know scirra don't let that happen

    and for people who thing pay per compile is a bad thing i want to say it not that much ! for each compile its a cheap thing but in pay per compile thing i can be sure you don get your user and pass to another one for free compile !

    and in my compiler you use unity to just add plugins and exports because there is much plugins for unity and not for c2 !

    dont worry about the idea if someone else can do this i will be happy to save time and use that !

    __

    but still so many things like what happen with c3 ! because if scirra change the xml files in capx i must make entire (more then 40%) compiler again or if they lock it then my compiler is dead!