Forum Multiplayer Any plans for UDP?

Discussion and help relating to the PlayerIO Multiplayer API.

Any plans for UDP?

Postby beezir » June 7th, 2012, 5:18 pm

You have an excellent service here, and I'm planning on moving forward using Player.IO as my game server, hosting and data storage solution. However, one thing that would be really nice and blow the competition completely out of the water is a UDP layer with various reliability channels built-in. Other solutions such as photon, or even open-source networking libraries like Lidgren or Raknet all use UDP with various reliability options - chat is reliable ordered so that it's guaranteed to always arrive in order, movement is unreliable sequenced so that if some packets are lost it doesn't waste time resending, it just uses the latest data. The end result is that things like movement in general suffer from far fewer issues due to packet loss or slower connections (including mobile platforms), and the reliable data is pretty much on par with TCP. Flash, Unity, and general .NET clients all support UDP now, so there shouldn't be any client limitations to this.

I've seen this question asked a few times, but no real responses in quite awhile other than "maybe if people want it" from a year or so ago. Are there any plans to add a UDP layer?
beezir
 
Posts: 6
Joined: June 7th, 2012, 2:47 am

Re: Any plans for UDP?

Postby Oliver » June 11th, 2012, 10:52 am

Hi Beezir!

Thanks for the kind words about the service, UDP would indeed be a nice addition to our offerings.

However, for many different reasons, we've chosen not to have a public roadmap so I can't really say when or if it would happen.

I'm sorry about this inconvenience, but hopefully the current services and features are enough to keep you on Player.IO.

Best,
Oliver
User avatar
Oliver
.IO
 
Posts: 1159
Joined: January 12th, 2010, 8:29 am

Re: Any plans for UDP?

Postby beezir » June 11th, 2012, 2:15 pm

Thanks Oliver, TCP should be just fine for my purposes at the moment. Was mostly just curious if you were planning to head that way at all. ;)
beezir
 
Posts: 6
Joined: June 7th, 2012, 2:47 am

Re: Any plans for UDP?

Postby Claytonious » June 16th, 2012, 12:47 am

One of the roadblocks with UDP is that Player.IO would have to host and support really robust services to facilitate something like NAT punch through so that players could connect with one another. I would guess that it is probably not any technical challenges that have prevented them from offering this, but infrastructure cost and logistics issues. Having players all talk to one another through a central service has none of the very messy problems of trying to connect players to one another.
Claytonious
Paid Member
 
Posts: 17
Joined: April 18th, 2012, 12:09 am

Re: Any plans for UDP?

Postby beezir » June 16th, 2012, 12:55 am

UDP doesn't necessarily mean peer-to-peer. There are plenty of games out there that communicate only through a central server with UDP, including many (most?) MMOs.
beezir
 
Posts: 6
Joined: June 7th, 2012, 2:47 am

Re: Any plans for UDP?

Postby Claytonious » June 16th, 2012, 4:59 am

Yes, you're right about that. But with the current server-side structure of Player.IO being limited to 100 millisecond message handlers, that would still be a substantial change from what they're offering now. I completely agree that it could be a very good one, though!
Claytonious
Paid Member
 
Posts: 17
Joined: April 18th, 2012, 12:09 am

Re: Any plans for UDP?

Postby beezir » June 16th, 2012, 5:39 am

I guess I'm still confused. UDP is just an alternative protocol to TCP, and there shouldn't be any real overhead if implemented properly, so not sure why that would hit the 100ms timeout any more than it does now? Plus I don't think the protocol even factors in at that point since it's just a timeout for the user code you write inside the handler.
beezir
 
Posts: 6
Joined: June 7th, 2012, 2:47 am

Re: Any plans for UDP?

Postby Claytonious » June 16th, 2012, 6:05 am

You mentioned an MMO, implying an architecture where an authoritative server (or servers) is running the game and fast UDP is sending out things like dead reckoning messages to lots of clients, taking advantage of unreliability to reduce latency. That would be a long-lived, ongoing server, not something that just responds to messages and shuttles them between players.

I guess what you have in mind is UDP between clients and server, but without any other changes to the current Player.IO setup. If you're already designing for the whopping extra latency of going through an intermediate server for messages to go from one client to another, then I don't think UDP is an interesting proposition - it's not going to be super low latency anyway. Since you mentioned UDP, I made the assumption that you were interested in low latency network stuff like for realtime, action gaming (at whatever scale). Keeping the current architecture, but only changing TCP to UDP, doesn't contribute very much to that goal, IMHO. (The protocol is a drop in the bucket compared with the enormous cost of an intermediate destination for all messages).
Claytonious
Paid Member
 
Posts: 17
Joined: April 18th, 2012, 12:09 am

Re: Any plans for UDP?

Postby beezir » June 16th, 2012, 6:43 am

Well my initial interest was mostly to allow different levels of reliability and prioritization to different types of data, similar to Raknet or Lidgren. Currently if a packet containing a chat message isn't received or latency spikes for a second, TCP has to resend and confirm that message before any other messages of any type can be processed including movement. A packet in UDP gets lost, and that's not necessarily the case. Movement can be sent unreliably and unrelated to the chat packets, and only the latest position (and velocity, etc.) messages need to be known. Additionally, if the network had a hiccup and it wasn't just that one stray chat packet that got lost, the next 20 UDP movement packets that got lost never need to be resent either since it can just use the most recent one. For potentially spotty connections like phones, that can be noticeable quite frequently.

We're currently in the middle of development of an MMOish game which spews out quite a bit of movement info and works just fine with the current Player.IO structure. The data for a particular room is stored in BigDB, loaded up when the room is created, and stays in memory until everyone leaves. From the client-end, everything appears to be persistent. The particular type of responses, whether they are TCP or UDP, movement, dead reckoning data, etc., wouldn't really affect how that works. Again, apologies if I'm completely misunderstanding here...

With all that said, I'm not arguing against P2P or UDP for action games or anything. I'd love that too, but I was mostly just curious if it had been publicly decided whether or not UDP would be added at some point and adding a UDP layer with reliability channels between server & client would be the first step in that.

(Also, given our particular use-case, TCP vs. UDP is probably a silly question anyway as long as client-side prediction is decent, but again, I was just curious).
beezir
 
Posts: 6
Joined: June 7th, 2012, 2:47 am

Re: Any plans for UDP?

Postby MoDDiB » March 1st, 2017, 12:30 pm

Hello,
any news about UDP ?
MoDDiB
 
Posts: 30
Joined: July 13th, 2014, 8:41 pm

Re: Any plans for UDP?

Postby robertflesch » March 1st, 2017, 6:07 pm

For browser based apps its impossible.
Since browsers only support TCP-IP.
Might be possible for Unity clients which are not browser based, but thats not the majority of business.
robertflesch
Paid Member
 
Posts: 136
Joined: April 22nd, 2013, 9:18 pm

Re: Any plans for UDP?

Postby MoDDiB » March 1st, 2017, 7:07 pm

robertflesch wrote:For browser based apps its impossible.
Since browsers only support TCP-IP.
Might be possible for Unity clients which are not browser based, but thats not the majority of business.

No one is speaking about browser based game on this discussion.
MoDDiB
 
Posts: 30
Joined: July 13th, 2014, 8:41 pm

Re: Any plans for UDP?

Postby robertflesch » March 2nd, 2017, 5:01 pm

They should be.
That is where Player.io started.
Now they might be going in a different direction.
robertflesch
Paid Member
 
Posts: 136
Joined: April 22nd, 2013, 9:18 pm

Re: Any plans for UDP?

Postby MoDDiB » March 21st, 2017, 2:51 pm

Your service is really interesting and I'm working on the sequel of a millions players mobile game.
But in order to choose our backend I really need an answer about your UDP support.

Thank you.
MoDDiB
 
Posts: 30
Joined: July 13th, 2014, 8:41 pm

Re: Any plans for UDP?

Postby Henrik » March 21st, 2017, 9:26 pm

Hey MoDDiB,

It's extremely unlikely we'll add UDP support. The biggest problem is that it doesn't fit the Message model we're using for the Multiplayer Server, you would have to have a model where everyone has full control of the entire network stack so you can make sure exactly which bytes are sent in what packets, and how to handle them out of order on the receiving side. And at that point each developer pretty much needs exclusive access to the multiplayer servers, and then there's not a lot of value we can add.

You can still do a hybrid model, if you like all the other services, authentication, BigDB, PayVault, you can use those, and just use something completely different for multiplayer. I think we would provide a lot of value in that scenario, even though we're not a complete solution for you.
Henrik
.IO
 
Posts: 1880
Joined: January 4th, 2010, 1:53 pm


Return to Multiplayer



cron