SwiftIllusion's Recent Forum Activity

  • Thanks for another response, but to further re-iterate, my project was at the status of 'complete'. All I was doing was having a few people play the final version to get a feel for it and see if I might have needed to tweak the tutorial or add any extra information to descriptions.

    I wasn't changing anything.

    I understand 'update' isn't the right term necessarily, however the fact is I can no longer reach the previous stable release in the desktop version-the only version compatible with my project folder save, and saving it newly into a single file forces a version restriction on it so I can't load it in older browser versions you can still access.

    So all I'm left with now even after backups and carefully approaching the new stable release is a complete game that is broken, which is pretty disappointing for me after my relative enjoyment working on it in this engine and being happy with where it was.

    EDIT: To further note, opening even older backups from 26th of the 4th are broken in the current version.

  • sounds like your issue is unrelated to r148

    but you can recreate the part that is NOT working in editor.construct.net/r142 and see if that fixes it.

    Not sure how big your project is.. but open one tab in r/142 and another tab in r/148 and copy paste over all your objects and events...

    EDIT: oh nevermind, it won't let you cut/paste between tabs right?

    As I have tried to explain, though not being able to re-open my project in the previous stable has left me unable to demonstrate, absolutely all I did was update my editor version, play it, and see it broken.

    Recreating a small demonstration of it in r142 I find it not working, however it was working in my project-but I can't understand how to recreate the same circumstances of it or what allowed it to work, and I can no longer see it working to even get a grasp of it.

    Additionally my project is saved in folder format on the desktop version.

    It's not large, but it's not small enough that I can just copy and paste it (I was surprised to see I could copy/paste from my desktop version to the browser at all), but there's various complexities and you can't copy/paste things like families which is where a lot of the required data is.

  • I've encountered an issue with my project in the latest stable that broke a fundamental part of my project, in a way I don't know how to reconstruct into a working state.

    The problem is, I made backups of my project before updating to stable in-case, only to discover that the web version of Construct 3 doesn't accept project folder save types. So I'm left with a broken project, because if I try to save it as a compatible individual file, then it tells me it has saved in a newer version and it won't load it.

    Additionally it has made trying to resolve this issue here - github.com/Scirra/Construct-3-bugs/issues/2929 - difficult, and that is now closed but I can't formulate a better opinion or try and tackle my case from a different angle because the project that was working essentially is no longer accessible, even though I made backups of it to prepare for potential problems.

    Would be very grateful if the desktop build could access older construct 3 versions.

    Tagged:

  • Ashley

    Could I please ask, how is it you are getting the TURN server functioning?

    I've spent more than the entire day trying to search through all the alternatives I could. Though I've reached the point of having a Linux server via AWS and somehow managed to get Coturn installed, the disjointed 'guides' I've managed to find are all skipping steps and I can't quite dissect the mass of readme's and more complex language (for me) in the turnserver documentation.

    There's all these if's and but's everywhere, and no context given to the usernames/passwords in the proper method to generate the key for them or whether a realm is something you can just make up or if it needs to be added to the mysql database/just the turnuserdb.conf, or if the mysql database even exists because they all seem to skip different parts that makes it impossible to even join them together. Not to mention how many different ways and letters etc they use to 'activate' TURN. And I'm nowhere closer to imagining how to get this information into Construct 3 at the end of it out from the console, with the different udp/tcp etc desired.

    I also noted daemon services and turnserver.conf that's recommended to keep it running consistently? Alternatively there was another thing I saw but regrettably lost in my countless tabs and can't see in my history. Basically something that pushes it back online the second it's lost.

    You no doubt have a more complex final solution for your needs, but I'd really really appreciate any extra details that could help me fill in the holes I need to get this running.

  • In Chrome it does connect, and the debug apk it connects, it's just weirdly not connecting in firefox (even though your TURN solution does).

    Sorry, even though I understand TURN hasn't got anything to do with Construct, from an outside perspective when your solution works and there's doesn't when the situation should be the same, without a better understanding of how that connection and redirect is made behind the scenes it's hard to know at what stage does TURN take over and where the problem starts.

    So really appreciate your time taken to respond, I guess hopefully the only other service I found might garner better results even if there's no free transfer threshold with theirs. If the results are the same though I might need to ask more about the linux/coturn stuff.

  • Thank you very much for the response and additional information.

    I understand now that by default multiplayer does not use any TURN service, the issue was that I was using multiple instances of the Remove Preview to test/debug multiplayer during development-leading me to believe it would function like that upon export. I had no idea that was an upcoming issue.

    I got a response back from them mentioning 'the rfc5766 standard' that you might not be using, possibly something to do with how ICE interprets the data? Sorry I can't be more specific with my limited understanding of all this. If that means anything to you that might add more context to this situation I'd really appreciate any more information along those lines I might be able to take to them for further response/discussion.

    All I know is that your implementation seemed to work more consistently than there's, but they have no idea how it could be a problem and based on their history they should know what they are doing too.

    Appreciate you letting me know how you use TURN for the remote preview. The issue being though, I have absolutely no idea how to start with that. What specific kind of cloud linux server would I need to purchase, would I need to purchase ones at multiple locations and how would I interpret/get the data safely from said server into a string value I can add to the ICE input, etc. Not to mention the countless specs/words/numbers that are alien to me on that page or whether I then have to workout their API and code more too. It sounds like a solution, and obviously it works awesomely for Remote Preview, but that doesn't look at all accessible to a non-programmer.

  • I just discovered all of this STUN/TURN stuff after having been working on my multiplayer project, testing my build just to see all this connectivity issue, and discovering the complexity of it all-having thought that the breakthrough it was doing was something I'd get to bring to my completed project.

    (Understandably that's not reasonable to be included too considering what I've read, but there's no remotely clear solution to this, and it wasn't evident at all to me this was going to become a problem when I was working on the game in the editor and testing in the browser, etc).

    I've done a lot of searching trying to find solutions, and there are some references directly to Construct in a few posts about TURN, but the problem is those 'solutions' are far too complex when approaching this engine from a visual designer perspective. I have no idea how to get a virtual server etc setup and run/build all the programs and command lines or what any of the open source TURN libraries need, just to get the few pieces of data I need to add to the ICE server input box.

    I'm currently using the free developer account available at xirsys.com to try and get things working in my built project via the information generated from a php script, however the speed fluctuates dramatically to the point where it misses important things like when the peer has connected sometimes, etc. Additionally it doesn't connect at all when in firefox for some reason, even though the remote preview in construct does.

    So I'd really appreciate some kind of understanding of how the internal TURN works, or what may be missing/an alternative method, etc.

    (Note: 'use colyseus instead', etc, isn't a solution. I'm a visual programmer and I can't break into that stuff, and the internal multiplayer's functions/structure has just what I need for my project. The issue is all this TURN/ICE stuff).

    Tagged:

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • To further clarify the freezing, it's definitely frozen and not just inactive. Because even though it reaches the point where it updates that the cards are removed, visually they stay, and the connected peers doesn't reduce from 2 to 1 as it otherwise would.

    You can't try and destroy the cards before the peer disconnects, if you want to do that when they disconnect. As you can't preemptively decide they will disconnect and destroy them ahead of time.

    Having them disconnect without destroying the cards stopped it freezing, that's the current workaround I've had to use, however in my following project I'll definitely need to work this out so I'd really appreciate any further information/answers you might get from the above clarifications.

  • I was wondering, is there some hidden connection made when objects are created upon connection/peer connection?

    To get what I need working (a hand of cards for each player) I instead just create objects on the host and peer separately. So there's nothing there that is synced or associated directly by events.

    However when I try to destroy the cards on the host, upon the peer disconnecting, it freezes. (NOTE: when running in debug, the amount of card instances are updated based on how many were deleted, but beyond that it's frozen).

    I've tried deleting instances based on comparison, deleting all instances, calling a function to delete the cards, however every one of those just results in a freeze.

    I can run different events in the on peer disconnect, and I can destroy an object that started in the layout without any issue.

    I tried also looking at the multiplayer example projects I'd already been using as reference, but they don't function like mine does now.

    So is there some kind of hidden connection made, because these cards are being created upon the connection-even though they aren't being destroyed automatically via disconnect or altered in any other way normally?

    Is there a specific method you're meant to use in this case?

    Would really appreciate some guidance on this.

SwiftIllusion's avatar

SwiftIllusion

Member since 8 Nov, 2013

None one is following SwiftIllusion yet!

Trophy Case

  • 11-Year Club
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • RTFM Read the fabulous manual
  • Email Verified

Progress

15/44
How to earn trophies