Page 7 of 35

Posted: Sun Jun 24, 2007 7:02 pm
by bert_the_turtle
A new weekend, a new build. 0.5 be its number. Get it here.
New this time:

Code: Select all

- Fixed oversized message bug, including large files producing tons of errors no longer
  crashes the server
- Added IP and key bans.
- Added special OWNER key in admin accounts to make it easier for steam users
  to reserve their own nickname.
- NAT piercing really works now.
- Added extended logging options
- Added MaxIdleRunTime and MinRunTime for better run loop customization
- Added CPU player support.
- Fixed private chat filter, some stuff got logged while it shouldn't.
- Fixed huge performance bug caused by wrong arguments to select().
- Added ServerKeyFile setting.
- Fixed a game start misprediction bug, turns out all players unready themselves
  even when a spectator leaves.


kapo: a loop.sh script is included in this one.

shinygerbil: the other problem is that the only two things that can be done with the player that is knocked out is to replace him with a CPU or to ignore all future commands from him. The server can't even reliably (assuming there are modified clients out there that send illegal commands, which is easy enough to do) predict the IDs the various objects are getting, so it can't, for example, tell the silos to auto-destruct each other.

Dazor: I'm using Code::blocks which uses some version of MINGW GCC, and it looks like it is unable to produce x86-64 code. At least, when told to do so, it produces something that runs fine on my machine. Since this isn't really the kind of program where a 64 bit version is of advantage, I'd like to go the WOW64 route as long as it is not clear it will not work. No, nothing fancy like inline asm going on. Bits of pointer arithmetics, of course, but all of the legal kind. The new build has debug symbols included, so if you could test it, and if the crash repeats (one fix of something may have fixed the crash), send a callstack?

Posted: Sun Jun 24, 2007 7:07 pm
by shinygerbil
Excellent, I'll try that tonight if I get the chance! :)

bert_the_turtle wrote:shinygerbil: the other problem is that the only two things that can be done with the player that is knocked out is to replace him with a CPU or to ignore all future commands from him. The server can't even reliably (assuming there are modified clients out there that send illegal commands, which is easy enough to do) predict the IDs the various objects are getting, so it can't, for example, tell the silos to auto-destruct each other.


I guess just too much is handled by the clients themselves for anything like that to be possible! Ah well, I can dream ;)

Posted: Sun Jun 24, 2007 7:39 pm
by et172
The new version of the server doesn't work on my linux box.

Code: Select all

$ ./dedcon /etc/dedcon/dedcon.conf
DedCon: Dedicated Server for Defcon 0.5 - Copyright (C) 2007 Manuel Moos
Illegal absolute path.
ServerKey = <secret>
Listening on port 5010.
Metaserver IP: 80.175.29.66
Server key authentication failed.
Demo limits received. MaxGameSize = 2, MaxDemoPlayers = 1, AllowServers = yes.
Aplying demo limits.
MaxTeams = 2


It seems that DedCon doesn't load /etc/dedcon/dedcon.conf anymore. 0.4.1 works fine.

Posted: Sun Jun 24, 2007 8:09 pm
by daz0r
bert_the_turtle wrote:Dazor: I'm using Code::blocks which uses some version of MINGW GCC, and it looks like it is unable to produce x86-64 code. At least, when told to do so, it produces something that runs fine on my machine. Since this isn't really the kind of program where a 64 bit version is of advantage, I'd like to go the WOW64 route as long as it is not clear it will not work. No, nothing fancy like inline asm going on. Bits of pointer arithmetics, of course, but all of the legal kind. The new build has debug symbols included, so if you could test it, and if the crash repeats (one fix of something may have fixed the crash), send a callstack?


Yea! No more crash. I haven't tried setting up a full server setup and actually played a game on it yet, but I assume it'll probably work.

I completely understand the 64-bit support stuff. I wouldn't expect an 'optimized' build or anything, just runnable support for x64 and it looks like you got it working.

Here's what I get at the command-line when I run it (Vista Ultimate x64):

Code: Select all

DedCon: Dedicated Server for Defcon 0.5 - Copyright (C) 2007 Manuel Moos
ServerKey = <secret>
Listening on port 5010.
Metaserver IP: 80.175.29.66
Server key authentication failed.
Demo limits received. MaxGameSize = 2, MaxDemoPlayers = 1, AllowServers = yes.
Aplying demo limits.
MaxTeams = 2


That should be correct, right?

Posted: Sun Jun 24, 2007 8:34 pm
by bert_the_turtle
et172 wrote:

Code: Select all

$ ./dedcon /etc/dedcon/dedcon.conf
...
Illegal absolute path.

You've come across a security enhancement. Absolute configuration file paths are dangerous in some situations; imagine one of your admins saying "/include /home/<user name>/.ssh/id_rsa". I'll make them available again for the server owner admin class in future versions, but for now, store your configuration files in the program folder.

daz0r: yeah, that's how it is supposed to look, except maybe that it did not find your authkey, which it should have if a full version of Defcon is installed on that machine. If it is, are you using the steam version or the standalone version?

Posted: Sun Jun 24, 2007 8:45 pm
by Sirthomasthegreat
My authenication has failed also. Here is my authentication text:

Code: Select all

ServerKeyFile C:\Program Files\Steam\steamapps\common\defcon\authkey


It keeps failing. I dont know if I need the authkey's extension. I have looked and looked but cant find it.

Posted: Sun Jun 24, 2007 9:39 pm
by cuplex
Im just testing it on a linux feisty box runnning great! btw thx for the loop script!!!

Posted: Sun Jun 24, 2007 9:43 pm
by bert_the_turtle
If the authkey has an extension, then yes, you need to add it. Mine comes without one, though, it is plainly named "authkey".

There is, unfortunately, no error message when the authkey isn't found in ServerKeyFile, and no success message if it has been found automatically, so there is little we can do right now. That'll be fixed in the next version.

Could you fire up the registry editor (Start -> Execute... -> type regedit) and fetch the value of the key HKEY_CURRENT_USER\Software\Valve\Steam\SteamPath ? If that doesn't exist, the same with HKEY_CURRENT_USER replaced with HKEY_LOCAL_MACHINE?

Posted: Mon Jun 25, 2007 9:12 pm
by bert_the_turtle
Forgot to mention, there is a mac build available this time, too.

I've implemented the speed budget now; you are only allowed to slow down to realtime for so long (it replenishes with time and gets redistributed). Test it in effect on the DedCon Test servers. It's tuned so that I myself (a slow player) pretty much ran out of budget during one game, so I certainly won't lower the budget :) You can have a look at the current budget (measured in seconds) of everyone by saying "/speed".

Also new in testing: control over which unit types can be placed. As a test, I've set up a Radar Defense Mode (mentioned in this thread) test server with it.

Posted: Mon Jun 25, 2007 9:27 pm
by Ace Rimmer
Just in case you never saw it bert, your very own T...

Image
Change of the tagline "Global Nuclear Domination" to "Global Network Innovation"

Found here

Posted: Mon Jun 25, 2007 11:47 pm
by odin
For some reason I can't seem to connect to ded. servers with the latest Linux client, it just says 'kicked by server', whereas I have no problems whatsoever with the standalone Win32 client.

Posted: Tue Jun 26, 2007 6:49 am
by bert_the_turtle
Thanks, ace, ideed, I missed that.

Odin: what version of the client are you using? The public servers are tuned to only accept 1.42 clients, and possibly some even only accept 1.43 beta1 clients. Are you running the linux server yourself? In that case, the logs and config files would be helpful. If it was a public server, then which one? My logs only show one windows user who was denied access, he was trying to ghost.
There is no way to give the client a reason for the kick, unfortunately.

Posted: Tue Jun 26, 2007 7:00 am
by torig
Make sure not to miss the obvious solution. The game admin could have kicked you.
Now that is probably not true, since it would be odd to go through the trouble to set up a dedicated server just to kick players out, but on the other hand, it could happen (even for legitimate reasons I suppose).

Posted: Tue Jun 26, 2007 5:50 pm
by NeoThermic
Ok, so I've started a (hopefully long term) dedicated Diplomacy server. (Ded-Diplo Server).

If you see it, join and have fun :)

NeoThermic

Posted: Tue Jun 26, 2007 7:28 pm
by =dB=Ed
Sirthomasthegreat wrote:My authenication has failed also. Here is my authentication text:

Code: Select all

ServerKeyFile C:\Program Files\Steam\steamapps\common\defcon\authkey


It keeps failing. I dont know if I need the authkey's extension. I have looked and looked but cant find it.


I seem to be having this same problem. Does Defcon need to be installed along with the Dedcon application on the server? I tried to creating my own authkey file and using that in the config but no luck so far. Also, ServerKey is a varible in the config as well is this a path or the key itself? and is setting both of these required?

Thanks