gumshoe2029's Recent Forum Activity

  • I have been fiddling with the wss scirra server a good bit in the last two days, so I have been the host for a number of people joining. I am trying to dissect the message structure that it uses to send messages back and forth in order to build a server capable of handling C2 multiplayer requests.

    Here is what I have so far:

    [quote:2ewmtymg]

    {"message":"welcome","protocolrev":1,"version":"1.0","name":"Scirra Multiplayer Signalling Server","operator":"Scirra Ltd","motd":"Welcome to the official Scirra Multiplayer Signalling server!","clientid":"O5Q0","ice_servers":["stun:stun.l.google.com:19302","stun:stun1.l.google.com:19302","stun:stun2.l.google.com:19302","stun:stun3.l.google.com:19302","stun:stun4.l.google.com:19302","stun:23.21.150.121"]} 408

    08:54:16.107

    {"message":"login","protocolrev":1,"alias":"chrometest"} 56

    08:54:16.109

    {"message":"login-ok","alias":"chrometest"} 43

    08:54:16.226

    {"message":"join","game":"scirra-chatexample","instance":"default","room":"main","max_clients":0} 97

    08:54:16.228

    {"message":"join-ok","game":"scirra-chatexample","instance":"default","room":"main","host":true} 96

    08:54:16.342

    {"message":"peer-joined","peerid":"M414","peeralias":"killer805"} 65

    10:07:39.812

    {"message":"offer","toclientid":"M414","offer":{"sdp":"v=0\r\no=- 5154261754761039296 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:+W5BUlgt5Gqw3wuy\r\na=ice-pwd:Ca5LUZljwmLRvgjA65C6qXFi\r\na=fingerprint:sha-256 E5:E0:4F:E5:D4:C8:A1:6E:29:B6:8F:38:B2:13:89:AB:B1:BD:7A:0E:4F:31:57:0A:F4:73:70:F8:A3:B8:1A:A7\r\na=setup:actpass\r\na=mid:data\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"offer"}} 486

    10:07:39.839

    {"message":"icecandidate","toclientid":"M414","icecandidate":{"sdpMLineIndex":0,"sdpMid":"data","candidate":"candidate:1511920713 1 udp 2122260223 192.168.0.2 63580 typ host generation 0"}} 189

    10:07:39.841

    {"message":"icecandidate","toclientid":"M414","icecandidate":{"sdpMLineIndex":0,"sdpMid":"data","candidate":"candidate:4081163164 1 udp 1686052607 x.x.x.x 63580 typ srflx raddr 192.168.0.2 rport 63580 generation 0"}} 223

    10:07:39.933

    {"message":"icecandidate","toclientid":"M414","icecandidate":{"sdpMLineIndex":0,"sdpMid":"data","candidate":"candidate:345893049 1 tcp 1518280447 192.168.0.2 0 typ host tcptype active generation 0"}} 199

    10:07:39.942

    {"message":"answer","from":"M414","answer":{"sdp":"v=0\r\no=- 8922025134692592552 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\nb=AS:30\r\na=ice-ufrag:4if2QlwLZQU6NkKA\r\na=ice-pwd:GjdgtCNx+fMmyWf4m37nnvXW\r\na=fingerprint:sha-256 2D:3D:7B:6E:1F:03:6C:66:BA:47:68:F0:04:95:8E:3B:5D:76:30:BC:37:53:3A:D0:E1:2A:3C:B0:90:D3:A3:1E\r\na=setup:active\r\na=mid:data\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"}} 493

    10:07:40.403

    {"message":"icecandidate","from":"M414","icecandidate":{"sdpMLineIndex":0,"sdpMid":"data","candidate":"candidate:2127136931 1 udp 2122260223 10.201.12.239 59060 typ host generation 0"}} 185

    10:07:40.408

    {"message":"icecandidate","from":"M414","icecandidate":{"sdpMLineIndex":0,"sdpMid":"data","candidate":"candidate:4286680599 1 udp 1686052607 72.55.8.201 22627 typ srflx raddr 10.201.12.239 rport 59060 generation 0"}} 216

    10:07:40.508

    {"message":"icecandidate","from":"M414","icecandidate":{"sdpMLineIndex":0,"sdpMid":"data","candidate":"candidate:810185811 1 tcp 1518280447 10.201.12.239 0 typ host tcptype active generation 0"}} 195

    10:07:40.513

    {"message":"confirm-peer","id":"M414"} 38

    10:07:44.433

    {"message":"peer-joined","peerid":"1GXE","peeralias":"teddy"} 61

    10:16:45.610

    {"message":"offer","toclientid":"1GXE","offer":{"sdp":"v=0\r\no=- 3531346402671484108 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:1FfOV/kNyL4l4LYP\r\na=ice-pwd:DaKFXfnkF/HSIb6BRpKPQ4dt\r\na=fingerprint:sha-256 E5:E0:4F:E5:D4:C8:A1:6E:29:B6:8F:38:B2:13:89:AB:B1:BD:7A:0E:4F:31:57:0A:F4:73:70:F8:A3:B8:1A:A7\r\na=setup:actpass\r\na=mid:data\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"offer"}} 486

    10:16:45.615

    {"message":"icecandidate","toclientid":"1GXE","icecandidate":{"sdpMLineIndex":0,"sdpMid":"data","candidate":"candidate:1511920713 1 udp 2122260223 192.168.0.2 52602 typ host generation 0"}} 189

    10:16:45.616

    {"message":"icecandidate","toclientid":"1GXE","icecandidate":{"sdpMLineIndex":0,"sdpMid":"data","candidate":"candidate:4081163164 1 udp 1686052607 x.x.x.x 52602 typ srflx raddr 192.168.0.2 rport 52602 generation 0"}} 223

    10:16:45.707

    {"message":"icecandidate","toclientid":"1GXE","icecandidate":{"sdpMLineIndex":0,"sdpMid":"data","candidate":"candidate:345893049 1 tcp 1518280447 192.168.0.2 0 typ host tcptype active generation 0"}} 199

    10:16:45.717

    {"message":"answer","from":"1GXE","answer":{"sdp":"v=0\r\no=- 7353467243507182183 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\nb=AS:30\r\na=ice-ufrag:IWUNE2kKdq/uFqKs\r\na=ice-pwd:fZPrpEbmwJgqeZJ5YkDj/eO7\r\na=fingerprint:sha-256 03:BF:28:7F:54:9A:06:6F:8E:2F:BA:DD:E7:A0:1C:BE:3D:F0:01:95:B9:F9:0E:4D:3B:BB:8A:C5:9C:43:DA:98\r\na=setup:active\r\na=mid:data\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"}} 493

    10:16:46.969

    {"message":"icecandidate","from":"1GXE","icecandidate":{"sdpMLineIndex":0,"sdpMid":"data","candidate":"candidate:111704799 1 udp 2122260223 192.168.1.34 57742 typ host generation 0"}} 183

    10:16:46.977

    {"message":"icecandidate","from":"1GXE","icecandidate":{"sdpMLineIndex":0,"sdpMid":"data","candidate":"candidate:1210811951 1 tcp 1518280447 192.168.1.34 0 typ host tcptype active generation 0"}} 195

    10:16:47.069

    {"message":"icecandidate","from":"1GXE","icecandidate":{"sdpMLineIndex":0,"sdpMid":"data","candidate":"candidate:4038591243 1 udp 1686052607 84.101.170.238 57742 typ srflx raddr 192.168.1.34 rport 57742 generation 0"}} 218

    10:16:47.098

    {"message":"confirm-peer","id":"1GXE"} 38

    10:16:48.096

    {"message":"peer-joined","peerid":"5A4B","peeralias":"j"} 57

    10:35:20.574

    {"message":"offer","toclientid":"5A4B","offer":{"sdp":"v=0\r\no=- 3777036167362608847 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:vHbVR5RiMDbur7EP\r\na=ice-pwd:eW9tPPTEi3yV/RdhgwNqJ52n\r\na=fingerprint:sha-256 E5:E0:4F:E5:D4:C8:A1:6E:29:B6:8F:38:B2:13:89:AB:B1:BD:7A:0E:4F:31:57:0A:F4:73:70:F8:A3:B8:1A:A7\r\na=setup:actpass\r\na=mid:data\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"offer"}} 486

    10:35:20.578

    {"message":"icecandidate","toclientid":"5A4B","icecandidate":{"sdpMLineIndex":0,"sdpMid":"data","candidate":"candidate:1511920713 1 udp 2122260223 192.168.0.2 64178 typ host generation 0"}} 189

    10:35:20.578

    {"message":"icecandidate","toclientid":"5A4B","icecandidate":{"sdpMLineIndex":0,"sdpMid":"data","candidate":"candidate:4081163164 1 udp 1686052607 x.x.x.x 64178 typ srflx raddr 192.168.0.2 rport 64178 generation 0"}} 223

    10:35:20.672

    {"message":"icecandidate","toclientid":"5A4B","icecandidate":{"sdpMLineIndex":0,"sdpMid":"data","candidate":"candidate:345893049 1 tcp 1518280447 192.168.0.2 0 typ host tcptype active generation 0"}} 199

    10:35:20.679

    {"message":"answer","from":"5A4B","answer":{"sdp":"v=0\r\no=- 2851996758598994455 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\nb=AS:30\r\na=ice-ufrag:sq58YHQDsLm8Dpuu\r\na=ice-pwd:IdScKPotWOwuFziMbTOhQBh7\r\na=fingerprint:sha-256 BF:D5:24:2D:87:46:61:30:21:75:63:41:3F:F4:EE:67:B3:62:CA:A9:6D:AB:12:F7:1C:26:C9:C3:A9:31:E5:18\r\na=setup:active\r\na=mid:data\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"}} 493

    10:35:20.947

    1

    {"message":"peer-joined","peerid":"1GXE","peeralias":"teddy"}

    Name

    multiplayer.scirra.com

    multiplayer.scirra.com

    2 / 16728 requests | 0?B / 3.3?MB transferred | Finish: 2.3?hrs | DOMContentLoaded: 135?ms | Load: 134?ms

    This is with my client as the host of the chat room.

    Has anyone ever written any kind of guide on the API for the multiplayer in C2?

  • Not exactly helpful there.

    Yea, but I don't want to do all of your work for you, as that would take me away from the copious amount of work that I have to do.

    Like newt says, you have tiles, each with an id and some kind of schema for determining "open" vs "walled" edges, then you just roll a bunch of random numbers to determine id and position and do if-then checks to ensure that "open" matches up with "open".

    You can use Rex's "Board" & "SquareTx" plugins to do the isometric part; he just uses an x,y grid and ports it into isometric.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Lots of random number generators and if-then-else statements.

  • I suspect they had a security bug that allowed for malware via images.

    Just use http://postimage.org/ and [ img ] http:/ /postimage.org/123594082/image.jpg [ / img ] to include it in your post.

  • I use two separate sprites.

    One is called "Button" and one is called "ButtonHover", then I just lay them on top of each other and set opacity from 100 to 0 and visa versa.

  • Gotta love the OpenSSL Heartbleed.

    It is used in forming https tunnels that secure your connection between each user and your server.

    There should be somewhere in Google Play that allows you to address dependencies or injected libraries. You just have to find the openSSL one and point it to the latest library on the web.

    I am not as familiar with Google Play, so I cannot tell you exactly how to do this, but here are some relevant pages from Google:

    how-do-i-fix-this_t122692 <-- This one says to rebuild your app with Crosswalk 10 --

    http://stackoverflow.com/questions/2419 ... ng-message

    http://stackoverflow.com/questions/2756 ... of-openssl

    http://discuss.cocos2d-x.org/t/resolved ... ever/14800

  • If you want to setup a server, you can use Amazon Web Services. They have a server set that you can get for free for one year (even the non-free version for a t2.micro server is only 9.72 USD / month).

    http://docs.aws.amazon.com/AWSEC2/lates ... n-ec2.html

    http://docs.aws.amazon.com/AWSEC2/lates ... -LAMP.html

    http://aws.amazon.com/ec2/pricing/#

    You could setup a LAMP stack (Linux Apache MySQL and PHP) or you can use PostgreSQL, Oracle, or Cassandra instead of MySQL, and you can use Java servlets (running on Apache Tomcat) or Python in place of PHP.

    Then you can use AJAX calls to retrieve data from the server.

    We use AWS for our server sets, and we have been extremely happy with them thus far. Their billing people are a little overzealous, but you can work around that.

  • gumshoe2029 Erm my game will not be on the browser, it will be on the App Store. Will it be safe if its for the iOS Devices?

    No, even there it is not safe. Apple has "Web Inspector Tools" for their Safari browser, which will give you all of the same powers as any other browser developer tools.

    https://developer.apple.com/safari/tools/

  • As far as getting info, for instance, I will have a boolean that checks whether a layer is visible, then just print "true" or "false" next to the "Layer X is visible: " line in my debug text box.

    I don't know of any better way to debug multiple sheets though, sorry.

  • Basically this is what I did. The "TotalBones" "Goldcoins" and "ShieldSinglePlayer" are some of the currencies in the game, am I doing it right?

    P/S: I don't know any programming language and I'm still new to construct 2, been only using it for about a month and a half now. Pardon me for begging your help

    You do know that hashes are one-way, right? You cannot retrieve the original data from those hashes without using a GPU-enabled computer to crack the hashes.

    But regardless, the user can simply pull the variable out before you hash it.

    There is no way to protect things on the browser.

  • gumshoe2029 thats a good idea, but my question is, is there a way I can do that in construct 2?

    No, sadly. Nothing on the browser is ever safe. Anyone using Chrome Developer Tools or Firebug-like tools will be able to tweak any of your JavaScript source/variables at will. You have to store data on a server to be truly secure.

    [quote:1uzwip9o]As far as actual data protection, anything on the server is safe.

    No data on a PC connected to the internet is safe per se.

    Well, yes, but for most people, they are adequately low priority targets to call the server "safe". You can use proxying, firewalls, and intrusion detection systems to deter attackers also. All of our game servers are not connected to the internet directly; they go through a firewalled/IPS gateway server first who proxies all requests back.

gumshoe2029's avatar

gumshoe2029

Member since 4 Mar, 2014

None one is following gumshoe2029 yet!

Trophy Case

  • 10-Year Club
  • Email Verified

Progress

11/44
How to earn trophies