Multiplayer Object Bug

Bugs will be moved here once resolved.

Post » Sun Sep 28, 2014 2:46 pm

Problem Description

I have a complex problem with multiplayer plugin.
It's a 4 peer game. I hosted it on BitBalloon.

It's a card game so in order for the cards to be placed 4 players need to be connected to the room.
When I am opening the link 4 times to emulate the 4 players i have no problems.

The problem comes when i ask my friend to do so. For some reason it does not work for him.
Which I don't understand because it's quite the same link with the same code. And we have both CHROME.

And yeah one more strange bug. When i try to pick the Multiplayer.HostAlias for the other players it adds a 2 to it. So if i chose Player1 as a nickname it puts Player12.
It can be seen in the official multiplayer plugin with shooting.

Attach a Capx
I can't attach a capx until the game is released but i can attach this.
http://jockey-miners-47580.bitballoon.com/

And i join a simplified capx containing my connection logic https://app.box.com/s/s4llvctqn5g46x0uo8qf


Steps to Reproduce Bug
    Put a Nickname
    Put the same room number
    Do it 3 more times in defferent browser windows

Observed Result
Depends

Expected Result
Should be this.

http://www.hostingpics.net/viewer.php?i ... 3proof.jpg
http://youtu.be/_HlnMCy0ee8

Affected Browsers
    All of them. Chrome worked for 1 person. Safari does not support webrtc, and Mozilla has this 3*player 2 bug

Operating System and Service Pack
WIN 7

Construct 2 Version ID
r182
Last edited by vagaev on Sun Sep 28, 2014 11:01 pm, edited 4 times in total.
B
13
S
4
G
1
Posts: 241
Reputation: 1,724

Post » Sun Sep 28, 2014 3:30 pm

vagaev wrote:And yeah one more strange bug. When i try to pick the Multiplayer.HostAlias for the other players it adds a 2 to it. So if i chose Player1 as a nickname it puts Player12.

This is a feature, if you have a same username login, the signal server will assign running number for you. If you intend to build a strict mode for username, I think you have to setup a database for that, unless we get an expression for [action: request peerlist in roomIndex] without having to join the room, then you can check whether certain username has been taken or not.

@Ashley, as of now, is it possible to request peerlist in a room without joining it yet? I had a few use in it as such a player can check which room/instance are their friends already in, and join their friends.

vagaev wrote:The problem comes when i ask my friend to do so. For some reason it does not work for him.
Which I don't understand because it's quite the same link with the same code. And we have both CHROME.

What didn't work? Can you be specific?
B
28
S
8
G
4
Posts: 553
Reputation: 4,924

Post » Sun Sep 28, 2014 3:53 pm

The problem for other people is that when they are connecting as the first peer it's okay they are host. But when they open another version they stay blocked as a player 2 for any other connection in the same room.

I had the chance to check this. A dude entered first so became a host. I entered and became a player 2, and the following attempts stayed as player 2.

However I once tried to enter as host player 1. The dude entered as peer player 2, THEN I opened a second window and it showed i am player 3, and i did it one more time and i was player 4. So everything went well. This was strange.

So i don't understand why with the same code and the same browser I can emulate 4 peers and my friend can't.


By the way i joined the capx showing my connection logic.
B
13
S
4
G
1
Posts: 241
Reputation: 1,724

Post » Sun Sep 28, 2014 3:56 pm

Concerning the concatenation to the HOST Alias. It seemed to occur sometimes and and sometimes not.

Is it possible that it happens when you are giving the same string to the room and the nickname.?
B
13
S
4
G
1
Posts: 241
Reputation: 1,724

Post » Sun Sep 28, 2014 5:19 pm

I'm confused what you think the issue is. Is the problem that your friend can't connect, or that it adds 2 to the end? It's by design that it will add a number at the end if the name is already taken, so that would not be a bug. If your friend can't connect, what evidence do you have that it's a Construct 2 bug and not your NAT/network setup blocking the connection?
Scirra Founder
B
403
S
238
G
89
Posts: 24,653
Reputation: 196,143

Post » Sun Sep 28, 2014 9:59 pm

@Ashley

Concerning the "+2" bug

Aparrently C2 does not like when your hostAlias is composed of 1 letter only. He ads two when you put only 1 character. It does not do it when you put at least 2 character (just try nickname "a" for the host, and enter a second time as a peer)

The problem is that my friend cannot play. And it's not just my friend. It was 3 different persons. I was thinking of an antivirus issue but i think it would have told that it blocks something. And i have one too so I don't know.
And he can connect, it just does not work with peer assignement for him, which is strange.
What people get is. Player 1=host and 3 times Player 2=peer when they open hosted file 4 times and joining the same room with different nicknames.

What I'm kindly asking to do if people want to help me is.

Firstly: use this link to enter in the same room as 4 different peers on your computer and tell me if each player has a different number (player 1, player 2, player 3, player 4) http://jockey-miners-47580.bitballoon.com/
----> see the vid i made http://youtu.be/_HlnMCy0ee8

Secondly: do the same with a different person. So first try to connect as a host and tell the other person to connect 3 times in the same room. And ask him if he has a different player each time. Then invert the role, ask him to be host. If it works i'm pretty sure it's not a multiplayer plugin glitch.


Thank you!
Last edited by vagaev on Sun Sep 28, 2014 10:25 pm, edited 3 times in total.
B
13
S
4
G
1
Posts: 241
Reputation: 1,724

Post » Sun Sep 28, 2014 10:12 pm

And I just asked another person to launch it 4 times. And she has 3*player 2. Instead of this.

It would be cool If i find out why.
I made a video of how i proceed and what you should have. Because there is no reason I have this and other people dont.

http://youtu.be/_HlnMCy0ee8


EDIT: I asked 2 more people showing them the vid and giving the link.
Same problem. Logic gets broken and they create only "Player 2" players.

@Ashley In your opinion what can do this? (and check on your side if it works for you aswell please)
B
13
S
4
G
1
Posts: 241
Reputation: 1,724

Post » Sun Sep 28, 2014 11:04 pm

I had a talk With a programmer at uni. We both tested the stuff.
Safari: The stuff does not even launch
Mozilla: The 3*player2 bug
Chrome: worked for him. (strange stuff because the first dude i tested with had chrome and it didn't work)
He said it was a browser bug. I thought webRTC was worked on mozilla.


Another strange stuff is that with the 3*player2 bug the cards get shuffled and placed when peer number=4. So the peer counting works even if the function that shows which player you are does not work.

Tho I don't see why this simple functions do not work.

Function to show the message on the right depending on your player var number.
Image

Player number determination
Image
B
13
S
4
G
1
Posts: 241
Reputation: 1,724

Post » Mon Sep 29, 2014 4:58 am

vagaev wrote:Player number determination
Image

This can happen if you let peer to handle the logic. I think you missed the principle of "calculate only on host". Your method is calculated by peer which is not recommended, possible delay in connection between peers might cause your problem I think.

Below is one way to "calculate using host", give it a try.
PNum.png
You do not have the required permissions to view the files attached to this post.
B
28
S
8
G
4
Posts: 553
Reputation: 4,924

Post » Mon Sep 29, 2014 3:02 pm

I can't reproduce the "+2" bug with the real-time game multiplayer template. I managed to become host with the name "y", which is a single character, proving that the multiplayer engine supports hosts with a single character name without adding "2". The most likely cause is the name was already taken, which is more likely with single character names since there are fewer options.

If nobody can connect to you, it suggests your NAT is blocking inbound connections. This is not a Construct 2 bug. It's to do with the architecture of the internet. The first multiplayer tutorial covers this in part.

Closing as I don't see any evidence of Construct 2 bugs here; most likely you are just confusing various issues of Internet architecture, server name assignment, and perhaps muddling your events with displaying player aliases. In order to investigate bugs we need clear unequivocal proof that the problem is in Construct 2 and not a mistake in your events.
Scirra Founder
B
403
S
238
G
89
Posts: 24,653
Reputation: 196,143

Next

Return to Closed bugs

Who is online

Users browsing this forum: No registered users and 0 guests