Our story so far...
The initial release of Demigod was marred due to us not taking into account pirates trying to get validated when we set up our network infrastructure. This resulted in the multiplayer game being basically unplayable which resulted in some pretty negative first day reviews.
48 hours later, we set up an alternative network for legitimate players, released a Demigod update and most people were able to connect - but with a big catch:
Demigod also debuted with a technology internally referred to as "Super NAT". The idea was to let people be able to connect to other people without having to mess with routers or anything. And it worked great in theory. In the beta, we noticed that the connection servers required a lot of resources to do their thing quickly. No problem, we added more servers and added still more again for the release. But that turned out to have been a vast under-estimation still as it wasn't a linear progression but an exponential one.
So over the past 2 weeks, we ditched what we had and started from scratch. Late last week, because we realized that time is of the essence, the Impulse team at Stardock got assigned to the project and we began to use Impulse tech to build something new.
The new system supports Direct Connection (which is pretty traditional - port forwarding). If that fails, it will use NAT negotiation. And if that fails it'll hook up to a series of Proxy servers to handle it.
Tonight
The proxy services will not be in tonight's build because of the lateness and we don't want to put that up and then leave for the evening only to wake up in the morning, go over to Shack News or Voodoo Extreme and see a headline "Stardock's Network becomes sentient, begins world conquest!" or something. So we'll wait until Wednesday during the daylight hours to turn that part on.
We are marking this build as a BETA still since it's so late into the evening we don't want to take any chances.
Expected Results
This update isn't the end all, be all update. This week is the week of putting this pain behind us. Tonight's update is just the first step. Without the proxy, you'll still have people who will fail on the NAT and we are sure, given the sheer quantity of changes, that there will probably be some problem in there since we've had to take out most of the licensed code and replace it with Impulse code. But based on what we're seeing it should be much better for most people.
If you are one of the people who it doesn't work for, hang in there. If you are part of the majority who is having no problem with Demigod, I realize that we keep focusing on connectivity versus game enhancements or improving the Pantheon and such it's just that my first priority is to make sure everyone can play the game online as well as single player.
The team at GPG and at Stardock are already working on v1.01 which will have the kinds of new features and such our users are used to seeing in Stardock games. But we have felt it would be in bad taste to talk about new features while there are people who couldn't play online so I hope you understand why we've not been talking about that yet.
Testing
So now we’re testing it with people on the chat channels and learning lots of things that we can now pass on to you.
Below are some suggestions for connecting faster. You don't have to do them but they will make a huge difference in how fast you connect and how widely you can connect to other people.
First if your router has an SPI “firewall” you may find you have a better experience if you turn it off. SPI firewalls provide good protection against random packets coming in but the downside is that on some consumer routers, it will prevent you from directly connecting to another player forcing the NAT servers (which are far slower) to pick up the slack.
Next: You need to make sure your router is port forwarding to ports 6100 through 6200 to whatever IP address your computer is using. Don’t assume your machine is that IP address because there’s a good chance it’s not.
If you do these things right, you’ll be able to DIRECT-Connect with the new Impulse Reactor we’re releasing tonight. If you don’t, it will fail over to the new Impulse Reactor NAT negotiation system we’ve been working on the past 2 weeks which is a thousand times better than what we already have out but it will slow everyone down.
If THAT fails, then it really gets painful because then you’re going to be sent over to one of the Proxy servers. These sound great in theory and they have the nice advantage of working basically 100% of the time but it will probably take us weeks to set up enough of these to make everyone happy because we have to locate them near you otherwise lag will be high.
If you're afraid of port forwarding go here: http://www.portforward.com/
ONCE IN GAME
The next thing we’ve discovered: There is a lot of software out there now that packet sniffs. Anti-virus programs even Google Desktop. How do you know if something is sniffing packets on your system? The game will stutter – go for a couple seconds, then pause a bit, go for a couple seconds, pause, and so on. There’s not much we can do on our end to stop that. You can try lowering your graphics settings but odds are, someone you’re playing has something that’s sniffing through your packets and slowing things down. And it only takes one person in the game to have this to make it stutter for everyone.
BTW, in the 10 person game we were playing, *I* was the one with the firewall applet I had forgotten to turn off that was monitoring packets. So it can happen to the best of us.
The update status
So they’re putting it together now. It’ll still be a couple hours because of all the uploading that has to do. Everyone’s very excited.
Again: If there are any IT people hanging around reading this, I’m not a network guy but I am being told by people that the fact that the entire backend for this game has been completely re-designed and re-implemented in 2 weeks is super insane.
Once this is up, our team will be talking at length at what was learned. What I keep being told is this: What works fine for 500 people can totally fall apart for 5,000 people and that’s what we’ve run into in a nutshell for these past 2 weeks.
Known bugs
Tonight's build does have an annoying bug in that it says Sim speed is 0 for you so you can't tell how well you're running. We've informed GPG and it'll get fixed in an upcoming update.
Favor points should acrue without a problem with tonight's build as well.
Ok, new update didn't help me. You still have to connect to the NAT facilitator. Which I can't
I keep getting a "File downloaded is larger than expected" message when trying to get this update.. anyone else getting this, or know what is causing this so I can get this to work?
-Orothin
Looking forward to try this update, hope it works.
http://forums.demigodthegame.com/350633
OK so to be clear if your router/firewall works as it should then port forwarding should be all that is required. I think the firewall disabling should be only done as a last ditch attempt and should really only be for testing purposes. You should never disable your HW firewall as a standard procedure imho - fine for testing.
Tals
what exactly is SIM SPEED again?
http://forums.demigodthegame.com/348247
Out of interest that sim speed bug was in Friday's beta build.
So, where are the changelogs for these patches?
I believe you said you could right click and grab them, but I see no such information in Impulse.
Not sure if the Favor was supposed to start accruing again correctly in this beta patch....but played a game and all favor was reset to 0 again.
fantastic!
Is there anywhere to submit bug reports etc regarding this beta patch? What's the best way to provide feedback?
yes!
If you have UPNP enabled on your computer and firewall, will port forwarding make a difference? In most DEMIGOD games I can connect to most people. I just turned off spi firewall (I have not played any games since that change). I have been able to connect to people, just sometimes people cant connect to me. Played a 3v3 game yesterday without these changes and it worked.
I am also wondering if turning on lan ping makes any difference?
i've forwarded the ports, diactivated firewall (don't know if it is SLI cause there isn't a name like that in the configurator). Trying to connect. I get the "awaiting connection" and then some people i try to connect to but then it kind of fails and I still get the error about the NAT faciliator. How can that be? I though i can direct connect now. Or is the problem not me but the person on the other side of the connection?
I noticed above you arent using port triggering. Do we want to use port 6073 as a port trigger? Then have it open 6100-6200?
The person with the DGL-4500 router. The manual will step you thru how to set up the port range above. I have a DGL-4100 which is similar. Under advanced settings, select game rule. You would then enter a range 6100-6200 in the udp labeled box, name the rule demigod, then save the result (make sure you include the dash). It would be game rule. I would also set up a reservation for a specific IP for your game computer. That way you use the same ip all the time. That is done in the basic tab under netwrrk settings. (bottom tab on the lefthand side of router screen) Scroll down until you see dhcp reservation. Then select your computer from the dropdown labeled computer name and save the results. You can copy your cmputers mac address, but all that does is capitalize the mac address you get from the dropdown. Then save the results.
I hope this helps.
Here's the issue. The SPI setting means that the router is only going to accept data from hosts that someone inside made a request to. Demigod uses a P2P networking method. That means you will need to accept requests from people you may have not yet spoken to.
The same applies for any p2p application. If you do not want to disable SPI, I think you will have to use the proxy option.. that will involve a lot more lag, as you will have to get all your game data from 1 place.. instead of getting game data from each player.
I'm going to be turning SPI on and off when I goto play the game.
Personally, I'm surprised in this day and age that routers do not have 'profiles'. I.e. I'm going to play GameX now, please load the 'GameX' profile. (involves port forwards X,Y,Z and SPI turned off, etc.). Ok. I'm doing playing GameX now, please load the "Stealth" profile. (no port forwards, SPI on), etc. Port triggering is kinda like this.. (listen/forward ports xyz when I use port A), but still doens't have an overall settings/config profile for a router.
Demigod does not use UPNP so I don't think that having it on makes any difference. Port forwarding will make the connections complete much more quickly.
I just tried the beta - left the firewall as is but port forwarding on and it was way quicker. So for the first time friday beta or otherwise I am connecting in seconds so looking very good
Amazing work Brad and team! You guys have done a amazing job on the networking stuff. Doing all the stuff you have in 2 weeks is nothing short of amazing.
I have a netgear router and i use norton internet secuirty. If i forward ports in my router settings do i also have to do it in norton? Any info would be appreciated.
okay, what i've figured out after one hour testing and trying to get ONE mp game.
Basically, i still don't get into a lobby, a mp game- Not in Skirmish, or Custom Games. I get connected sometimes (i guess that's the direct connect) but if i have to connect through NAT (that's just a guess) it fails. It also fails if others try to connect me through that NAT... Is there some kind of "log" ? perhaps that might help you figure this one out...
Does not work for me.
My setup is
DSL router <-> Linux router/fw <-> Demigod PC
A "double NAT" in Stardock terms. Linux router is in DMZ of DSL router, so that DSL router forwards all trafic to Linux router/fw. Linux router/fw forwards traffic udp and tcp 6000-6200 to Demigod PC. Demigod PC has firewall turned off.
What I dont get is that I am only told to forward port 6100-6200, but when I use tcpdump on linux I only see port 600x UDP traffic. This happens quite long after I start looking for a multiplayer skirmish game (minute perhaps?). Here is dump when I see packets:
IP 10.0.0.3.1120 > 209.124.63.249.6000: UDP, length 41IP 10.0.0.3.1120 > 209.124.63.249.6000: UDP, length 41IP 10.0.0.3.1120 > 209.124.63.249.6002: UDP, length 41IP 10.0.0.3.1120 > 209.124.63.249.6002: UDP, length 41IP 10.0.0.3.1120 > 209.124.63.249.6004: UDP, length 41IP 10.0.0.3.1120 > 209.124.63.249.6004: UDP, length 41IP 10.0.0.3.1120 > 209.124.63.249.6006: UDP, length 41IP 10.0.0.3.1120 > 209.124.63.249.6006: UDP, length 41IP 209.124.63.249.6000 > 10.0.0.3.1120: UDP, length 38IP 209.124.63.249.6000 > 10.0.0.3.1120: UDP, length 38IP 209.124.63.249.6004 > 10.0.0.3.1120: UDP, length 41IP 209.124.63.249.6004 > 10.0.0.3.1120: UDP, length 41IP 209.124.63.249.6006 > 10.0.0.3.1120: UDP, length 41IP 209.124.63.249.6006 > 10.0.0.3.1120: UDP, length 41IP 209.124.63.249.6002 > 10.0.0.3.1120: UDP, length 41IP 209.124.63.249.6002 > 10.0.0.3.1120: UDP, length 41
Someone know whats going on with these packets?
You can see traffic goes both ways, but I never ever get a game.
Why no 61xx-62xx ports? I dont see those at all. Is that because direct connect by some reason cant be established?
I would HIGLY recommend to test the game witout disabling the SPI firewall.
Normally when you foward ports on the router, a "hole" is made in the firewall to let those packet pass. So disabling it isnt really necessay.
But as I said, do it only if youhave to or your own security.
Maybe I'm just opening up my computer to a whole nasty can of worms, but I just set this machine to always get the same IP address on the router (you can do this by using your mac address), and then set that IP to be the DMZ.
There are many great features available to you once you register, including:
Sign in or Create Account