A Flash Developer Resource Site

Results 1 to 10 of 10

Thread: ElectroServer 5 Released

  1. #1
    Senior Member webgeek's Avatar
    Join Date
    Sep 2000
    Posts
    1,356

    ElectroServer 5 Released

    Hi all; this post is for our new product launch which bends the rules a bit but I hope it's ok as I've been a member of this forum for more than 10 years and have >1,000 posts AND the product is very game related

    So rather than be obnoxious with marketing speak, I'll be straight to the point and keep it simple. ElectroServer 5 is a superb and inexpensive way to make multi-player games in Flash, Unity 3d, Objective-C (iPhone, iPad, iPod), C# (XNA and native .NET), and Java.

    The server has a totally new administration system that is used to remotely admin everything. All admin capabilities are exposed both via the admin and via JMX. You can administer the server without ever touching the box it's running on, even changing memory and start up settings - something none of our competitors are capable of doing.

    The new pricing is now cheaper than anything on the market in the same class: 25 users free, $1000 for 1000 users, $5000 for unlimited users.

    We've add full UDP support as well, even for Adobe AIR. So if you want to make a FPS in AIR and use UDP - we support that.

    Another big change is the documentation. The manual is well over one hundred pages with many more sections getting added in the next few weeks. The server comes with >30 examples with many available in multiple programming languages. It also comes with three separate full multi-player games with full source and art: a top-down tank shooter game, a real-time strategy-ish game, and a real-time cooperative puzzle game.

    I'll stop there with the features. Suffice it to say that I've just scratched the surface of what's been added. A big difference going forward with Electrotank is that we have hired developers whose full time jobs are to work on the server and the support of it. Expect huge feature and example updates going forward. We have a massive number of things on the list planned for the future and we will be releasing them as they are finished.

    On a last note, Jobe Makar has a blog post about some more specifics:
    http://jobemakar.wordpress.com/2010/...er-5-released/

    And you can go to our site to see more as well as purchase or download the free version:
    http://www.electro-server.com

    Thanks!

    -Mike

  2. #2
    M.D. mr_malee's Avatar
    Join Date
    Dec 2002
    Location
    Shelter
    Posts
    4,140
    UDP, is this using the new RTMFP protocol with flash 10?

    Been looking into that recently, looks very promising.
    lather yourself up with soap - soap arcade

  3. #3
    Senior Member webgeek's Avatar
    Join Date
    Sep 2000
    Posts
    1,356
    Not RTMFP - straight up, honest to goodness, UDP between client and server. IE:
    http://en.wikipedia.org/wiki/User_Datagram_Protocol

    Though we originally added it for Unity 3d and other languages, I believe this is the right reference for the AIR UDP class - additionally we have an AIR UDP example that comes with the server when you install it:
    http://help.adobe.com/en_US/FlashPla...ramSocket.html

    Basically, we've integrated it in a very slick and useful way. At runtime, you are able to specify if a given message should be "reliable/ordered" or not. If it's reliable and ordered, it's sent via TCP, if you choose neither of those, it's sent via UDP assuming the client has a UDP connection verified with the server. This means that if you say to use UDP but the client only has a TCP connection, the message will still be sent but it will be sent as TCP instead. This makes for a graceful failover and the ability to design for ideal situations but fall back elegantly in case something is wrong (like a firewall blocking all UDP traffic).

    The idea is that you can now use both TCP and UDP in an application interchangeably - using each one where it makes the most sense. Movement updates might be UDP while chat messages are TCP, etc. It's a pretty common concept in traditional multi-player video games but we've made it trivial to use with our API.

    Hope all that makes sense. Thanks!

    -Mike

  4. #4
    formerly hooligan2001 :) .hooligan's Avatar
    Join Date
    Mar 2008
    Posts
    405
    What's the transition between ES4 - ES5 like?

    Will much code and setup need to be altered for a game built for es4 to take advantage of the new features in es5?

    Or does the plugin/client structure follow the same principles?
    World Arcade | Facebook | Twitter - Follow MEEEE! or not......

  5. #5
    M.D. mr_malee's Avatar
    Join Date
    Dec 2002
    Location
    Shelter
    Posts
    4,140
    well thats very cool then. I always though that UDP communication wasn't possible in flash and it was limited to TCP. This new Stratus or new name "Cirrus" technology enabled UDP through RTMFP. If you guys have found some way around the TCP limit then awesome, I'll definitely be looking at this.

    Currently at soap we using smartfox purely because it was easy to set up and their API was a little more documented than your original one (3 years ago). But it seems that we might need to investigate electroserver as realtime games are something we've been thinking about but never really had a solution for. If you guys say you've implemented UDP in Flash, I can't wait to test out a realtime game.
    lather yourself up with soap - soap arcade

  6. #6
    M.D. mr_malee's Avatar
    Join Date
    Dec 2002
    Location
    Shelter
    Posts
    4,140
    ok so Flash only supports UDP through Adobe AIR 2.0.

    Would be nice if these flash servers exposed this fact rather than just saying "now with UDP support!" oh yeah and its only for adobe air 2.0 and everything else, sorry

    For me, Adobe AIR really isn't an option until more people adopt it, so guess its back to researching RTMFP.

    why do they keep putting in all these cool features in Adobe AIR, sigh. I just know they're gonna do the same thing with GPU acceleration, sorry, only available in Adobe AIR. So start making games in that so we can make some more money.
    Last edited by mr_malee; 10-14-2010 at 06:45 AM.
    lather yourself up with soap - soap arcade

  7. #7
    Senior Member webgeek's Avatar
    Join Date
    Sep 2000
    Posts
    1,356
    Quote Originally Posted by .hooligan
    What's the transition between ES4 - ES5 like?
    Actually, it goes very quickly. Server-side code migrates very easily with some changed imports and a recompile. Client-side code requires more work, most of it related to how connections are established to ElectroServer as well as the event handling model - it's AS3 centric now and so the string-based event names are wrong. We were able to migrate a good sized real-time multiplayer game in about an hour. We believe migrating our entire MMO engine (EUP - http://www.electrotank.com/eup.html) will take only a day or so. We have a migration doc at the URL below and it covers all the details fully:
    http://www.electrotank.com/docs/es5/...g_from_es4.htm

    Quote Originally Posted by .hooligan
    Will much code and setup need to be altered for a game built for es4 to take advantage of the new features in es5?

    Or does the plugin/client structure follow the same principles?
    Using the new APIs is quite simple and won't require you to gut your existing game. The structure hasn't changed dramatically as we liked how it worked when we created it for ES4 so we saw no need to vastly overhaul it.

    Quote Originally Posted by mr_malee
    Would be nice if these flash servers exposed this fact rather than just saying "now with UDP support!" oh yeah and its only for adobe air 2.0 and everything else, sorry
    Sorry, I thought my post made it more clear, We support a lot more than Flash these days - things like Unity, XNA, iPhone/iPod/iPad, Java/Android, and straight C# games too along with AS2 and AS3. UDP is dead useful for many of those platforms. On the Flash side, you are stuck with using AIR which is why I mentioned it in my post and linked to the AIR docs - though re-reading it, I see I could have been more clear. Sorry about that! Ultimately, it's not a matter of trying to hide it, just that Flash is only one facet of the server these days. Thanks!

    -Mike

  8. #8
    formerly hooligan2001 :) .hooligan's Avatar
    Join Date
    Mar 2008
    Posts
    405
    Do you still have to do little hacks like the heartbeat? There were a couple other little things that I hope have been fixed or altered.

    Nice work.
    World Arcade | Facebook | Twitter - Follow MEEEE! or not......

  9. #9
    Senior Member webgeek's Avatar
    Join Date
    Sep 2000
    Posts
    1,356
    The server is intentionally designed to disconnect people after a certain time of inactivity, if you had to do a heartbeat it's because you had a very low timeout set and wanted to keep them online past it. If I had to guess, you are indirectly referring to the IE tab bug where IE would keep socket connections open when the tab was closed. So you'd set a low timeout to disconnect people quickly and a heartbeat to keep active players alive. Ultimately not a server workaround at all but a browser one.

    -Mike

  10. #10
    formerly hooligan2001 :) .hooligan's Avatar
    Join Date
    Mar 2008
    Posts
    405
    Ahh I see, I just thought you might have had the heart beat built in on the client api and only have it send when the client has sent a message for a while. My disconnection time is 5 minutes but there are points where users are on screens that don't send info for maybe longer. All good.
    World Arcade | Facebook | Twitter - Follow MEEEE! or not......

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  




Click Here to Expand Forum to Full Width

HTML5 Development Center