• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

JohnMK

Fidei Defensor
59 Badges
Dec 25, 2001
5.017
157
Visit site
  • Europa Universalis IV: Third Rome
  • Crusader Kings II: Horse Lords
  • Cities: Skylines - After Dark
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Conclave
  • Europa Universalis IV: Mare Nostrum
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Crusader Kings II: Monks and Mystics
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis IV: Common Sense
  • Hearts of Iron IV: Death or Dishonor
  • Age of Wonders III
  • Europa Universalis IV: Cradle of Civilization
  • Crusader Kings II: Jade Dragon
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Rule Britannia
  • Europa Universalis IV: Dharma
  • Crusader Kings II: Holy Fury
  • Europa Universalis IV: Golden Century
  • Imperator: Rome Deluxe Edition
  • Imperator: Rome
  • Crusader Kings III
  • Crusader Kings III: Royal Edition
  • Europa Universalis 4: Emperor
  • Hearts of Iron III
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Europa Universalis III
  • Europa Universalis IV
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Call to arms event
  • Crusader Kings II
  • Hearts of Iron III: Their Finest Hour
  • Heir to the Throne
  • Europa Universalis III Complete
  • Europa Universalis III Complete
Johan et al,

I'm aware that you chose Microsoft DirectPlay to facilitate multiplayer. I understand that there are some advantages to this, and I'm not disputing your selection. I would just like to bring to your attention the problem that DirectPlay has with my University firewall, and indeed with many other firewalls. Basically, it's nearly impossible for me to host, and 100% impossible for me to join games. I know that ID Software and other companies choose UDP over DirectPlay, and I have no problems playing those games through my firewall.

What I really want to know is will there in the future be support for UDP in Eu2? I love this game, and it breaks my heart that it's so difficult for me to play it with people off campus.

Thank you,

John
 
Originally posted by JohnMK
What I really want to know is will there in the future be support for UDP in Eu2? I love this game, and it breaks my heart that it's so difficult for me to play it with people off campus.

No, there never will be. As UDP is not guaranteed delivery, and we dont have the resourcces to write a complete network API.
 
Re: Re: Microsoft DirectPlay instead of UDP

Originally posted by Johan


No, there never will be. As UDP is not guaranteed delivery, and we dont have the resourcces to write a complete network API.

Umm... I could probably give you this..

I have several. The only one I have which I could legally give you is one I wrote myself when WinSock 2 first came out. It is tested and has been used successfully.

It impliments UDP and TCP, but more importantly it has RUDP (Reliable UDP) which basically is a faster (non-linear) TCP. It's built over WinSock 2, so works on all flavors of Windows. It uses UDP headers plus a few bytes so is a far cry smaller than the 42 byte TCP header. It can be configured to guarentee delivery order (or not) but doesn't force a resend of more recent packets upon failure like TCP does, so you'll experience a huge speed increase on any connection which has a loss rate of over 1% or so.

I have no idea how easy it would be to impliment in your case, because it's been a while since I did any DirectPlay programming and have since burned the API out of my memory. General use is to open 2 com handles with each client (one UDP, one RUDP). These actually share two UDP sockets (one for broadcast and one for listening), but the internal stuff shouldn't really concern a user. You basically just write and read to each handle (either via a "stream" or atomic packets), so it's pretty simple.

Anyway.. I expect you have more important things you're working on, but I figured I'd mention it.

Waffen
 
Re: Re: Re: Microsoft DirectPlay instead of UDP

Originally posted by Waffen
Umm... I could probably give you this..

I have several. The only one I have which I could legally give you is one I wrote myself when WinSock 2 first came out. It is tested and has been used successfully.

It impliments UDP and TCP, but more importantly it has RUDP (Reliable UDP) which basically is a faster (non-linear) TCP. It's built over WinSock 2, so works on all flavors of Windows. It uses UDP headers plus a few bytes so is a far cry smaller than the 42 byte TCP header. It can be configured to guarentee delivery order (or not) but doesn't force a resend of more recent packets upon failure like TCP does, so you'll experience a huge speed increase on any connection which has a loss rate of over 1% or so.

I have no idea how easy it would be to impliment in your case, because it's been a while since I did any DirectPlay programming and have since burned the API out of my memory. General use is to open 2 com handles with each client (one UDP, one RUDP). These actually share two UDP sockets (one for broadcast and one for listening), but the internal stuff shouldn't really concern a user. You basically just write and read to each handle (either via a "stream" or atomic packets), so it's pretty simple.

Anyway.. I expect you have more important things you're working on, but I figured I'd mention it.

Sounds neat, the thing we use directplay for has been the management of games, organisation of players in the games, and packets sending to them.
 
Would it be difficult to implement Waffen's RUDP, Johan? I'm prepared to hear the answer 'yes, it's impossible.' So you can't possibly disappoint me. :) Oh well. I appreciate the rest of the work you do, you work hard, and you deserve some time off. I just wish I could play multiplayer through my University firewall, *sigh.*
 
Re: Re: Re: Re: Microsoft DirectPlay instead of UDP

Originally posted by Johan

Sounds neat, the thing we use directplay for has been the management of games, organisation of players in the games, and packets sending to them.

It might be a bit of a pain to get working then. I'll go find it and send it to you anyway though. It does have the concept of groups and sessions which are used to organize players in games, lobby rooms, etc. I really can't remember most of the features of DirectPlay, which is pretty pointless anyhow since I last coded DirectPlay in the DirectX 3 release and I suspect it's completely changed since then.

Anyway, to answer JohnMK's question: In any event this would be a fair bit of work, require tons of testing and may turn out to be only a marginal improvement, so I wouldn't hold your breath on this happening. What really needs to be done is to re-think the whole transport system for EU3. I'm sure there are lots of things which could be done to reduce bandwidth and latency.

Waffen
 
I've heard Johan is forever sick of the Eu series though and doesn't want to work on Eu3, so I doubt seriously that I'll ever be able to play this great game over the Internet. :(
 
question!!!

I have a linux pc with router software as a firewall, now red alert II yuri's revenge (which workes without a server) enables me to start servers with even a lan ip. EU1 didn't allow play with this firewall and EUII doens't letme join a game in VAlkyrenet. Am i doing somthing wrong>? or do I have to manually open the ports on my firewall... and if so which ports??