Page 1 of 1
Posted: 04 May 2012, 19:32
Thefactor82
Hi everybody!
I'll start apologizing for what I'm writing, first of all cause I'm not expert at all, and second if someone else already asked/talked about that.

How Re-Volt network game works? I'm talking about network traffic between players. It is correct (I've made some research) to say that Re-Volt, when playing in multiplayer, uses communication between every clients (p2p), and not only between client and server (that is not a server, but the host on duty)?

If the answer is YES, then I'm going to make THE UGLY QUESTION :o : Why not changing this feature, making HOST the ONLY one who need to connect p2p to every clients? Is this possible?

Posted: 06 May 2012, 01:45
urnemanden
It happens that I have written a report about Re-Volt Multi-player as one of my trial examn projects. Huki supplied me with information regarding how Re-Volt works over Multi-player through an interview, so I may be able to answer some of your questions. :)
TheFactor82 wrote:How Re-Volt network game works? I'm talking about network traffic between players. It is correct (I've made some research) to say that Re-Volt, when playing in multiplayer, uses communication between every clients (p2p), and not only between client and server (that is not a server, but the host on duty)?
Yes Re-Volt makes use of the peer-to-peer connection. Here was what Huki wrote on that regard.

P2P is advantageous for private multi-player games as it eliminates the need to connect and route data through an external server. P2P is thus faster for small game sessions of 2 to 8 players. Long distance games over the Internet are also possible, knowing the IP address of the computer that is hosting the session.
[..]
DirectPlay and P2P are not recommended for large gaming sessions. As the connection is peer-to-peer, the same piece of data would have to be transmitted multiple times, i.e. to each other peer in the network. Hence, bandwidth usage increases exponentially.

As for the other question, I guess you will have to wait for Huki's answer about that. To me it sounds like routing all traffic through the host will have the following disadvantages though:

- The host would need a larger data bandwidth than with the current P2P system.
- The ping could possibly get much much worse. There would for example be a huuuge delay when American racers connect to a host in Europe who then transfers the data to Australian racers. When all the traffic is routed through the host there is no longer any direct connection between each racer.

Personally I would not support such a system because of these reasons. Especially not for Re-Volt since the maximum amount of players is a maximum of 12. I'm curious though - what are your reasons to suggest this? ^^

Posted: 07 May 2012, 16:12
Thefactor82
Thanks a lot for you answer Urnemanden! Very clear! :)
I asked for this because in Italy there's a lot of ISP, and making Revolt connecting from one ISP to another is not simple.
In some cases (and on some ISP) it's not possible at all to open doors to make correct connections between peers. So it's very difficult to play.

We are trying a lot of different solutions, Using softwares VPN-style, like Hamachi, Comodo, Evolve (Tunngle and Gameranger in our future tests) to make a sort of "private network" to play Re-volt. In the recent past, Hamachi was our best solution, but now we have a lot of problem (and limitation on our network) so we are looking around.

I was wondering if a Client-Server connection for Re-volt was possible, or only one of my insane thought... ;)

I understand, however, the disadvatanges that you wrote.

Posted: 07 May 2012, 17:04
urnemanden
If port forwarding is your problem, you should look forward to when Huki & Jigebren switches to WinSocket. WinSocket doesn't require any port forwarding and we can still keep the current multi-player system this way (AFAIK). :)

For now though, you'll have to do with Hamachi and the like I guess. Have you tried GameRanger btw? GameRanger works similarly to Hamachi, but doesn't have the same limitations as Hamachi (for example the 16 player limit). You will have to use Re-Volt 1.2 on Windows 7 or Vista though as GameRanger doesn't support commandlines.

Posted: 08 May 2012, 03:12
Huki
Technically, there are no disadvantages in using a Server/Client implementation, because the bandwidth of the host player remains the same as in P2P (in both cases host sends and receives data from all players). (Hmm in fact the host would need comparatively better connection as it now sends much more data than clients, but I'm guessing compression can alleviate the bandwidth increase.) And for clients, there is a huge decrease in bandwidth usage (they only need to send or receive data from the host). And as you said, each player needs to only connect to the host, and they will still be able to see all the other players. And I expect the entire gameplay to be much more consistent than in P2P, since everyone's computers will pretty much exactly replicate the state of the server player.

There are some practical limitations in a server/client system though. The first is that the game performance ultimately depends on the host. Of course, anyone who doesn't lag in a P2P game can host alright. But otherwise, if the host has a very crappy connection, even if two clients have very good connection there is no advantage of a direct connection between them. The second limitation is that host migration will not work.

Edited for corrections.

Posted: 08 May 2012, 12:40
Thefactor82
We haven't tried yet Gameranger, because not we are trying EVOLVE (also, Gameranger hasn't support for groups, But Evolve has!). And we are moving away from hamachi because Hamachi now offers only 5 players in a network (FIVE... <_<), and some players cannot connect.

My router port are editable and I have a 20mb connection, so this is one reason for my initial question.

@Huki Thankx for your answer. I'm happy to see I didn't say stupid things... D'you think we have to wait a long for server/client support?

I don't want to go offtopic but... Yesterday we did another test on Evolve... And I received CAN'T INIT DIRECTPLAY SESSION error... No way to connect to an host that one week ago was perfectly reachable... :(
(the only thing changed is that I updated my graphics driver... D'you think it is something related? We all using Alpha 0405)

Posted: 11 Jul 2013, 03:14
Lo Scassatore
Hi guys! :)

I wanted to ask you if this point (the multiplayer game with client/server connection instead P2P) is a planned 1.2 patch feature or it will go on the long time "post-1.2" plans.

I ask you this because we're having a lot of troubles using VPN software (since we moved out from Hamachi, we haven't found a stable solution yet) and if we could set up a direct client/server connection with no port forwarding required on client side (and no other software in the middle, such as VPN)... well, that would be a real improvement for our little online racing community.

Posted: 13 Jul 2013, 03:07
Huki
Hi Scass,
I'm afraid you'll have to wait till we get rid of DirectPlay and switch to a more manageable alternative. So while it's not post-1.2, it's definitely only after the next official Beta. A major hurdle in our network overhaul plans was that the API we planned to switch to is very bare-bones and would have required us to micro-manage several aspects of the networking code. But recently we received a fan email informing us about Enet, a light-weight network library which would simplify a lot of things. It's actually looking quite promising.

As for port forwarding in Client/Server, I think it would still be needed on the client side for communicating with the host. But on the other hand, the port forwarding situation could itself be improved once we switch to Enet.

Posted: 13 Jul 2013, 07:16
Phantom
@Lo Scassatore:
Since Hamachi only allows a small amount of people in their networks I assume you must be quite frustrated now, but I suggest you try GameRanger.

GameRanger is similar to Evolve or Tunngle, or the old GameSpy, with the benefit of being a lot less resource hungry and it works even without port forwarding on most routers. Only a few routers require players to open the port UDP 16000, but for me this was never necessary.

The link is: http://www.gameranger.com/

Hope this helps you guys to kill the time.