Homegrown Dedicated Server: DedCon 1.6.0_svn1038

Discuss your new mods and themes here

Moderator: Defcon moderators

User avatar
MrBunsy
level5
level5
Posts: 1081
Joined: Mon Apr 24, 2006 4:40 pm
Location: Southampton
Contact:

Postby MrBunsy » Tue Jun 12, 2007 11:06 pm

Well, I've just tried out running your server, Bert. I didn't want to reboot into linux, so I thought I'd try it in a copy of open SuSE installed in Virtual PC.

Worked perfectly :D I'm behind NAT, but forwarded the ports to the Virtual PC's address, popped it online and 6 people joined within a matter of minutes. I spectated a complete game and everyone said there was no lag, pings were quite low and packet ordery-thingy seemed fairly good the whole time. I was quite impressed seeing as both Virtual PC and Defcon were competing for the CPU power.

Brilliant job it seems!
C/Airman_Curtis
level1
level1
Posts: 57
Joined: Fri May 04, 2007 10:15 pm

Postby C/Airman_Curtis » Tue Jun 12, 2007 11:08 pm

I joined today, but it stopped responding to me and i was kicked after my connection error reached 30 seconds. we had 6 people join, and i think they where all XP computers. I am not sure if the others where kicked though...
User avatar
shinygerbil
level5
level5
Posts: 4667
Joined: Wed Dec 22, 2004 10:14 pm
Location: Out, finding my own food. Also, doing the shinyBonsai Manoeuvre(tm)
Contact:

Postby shinygerbil » Wed Jun 13, 2007 12:23 am

I ran it fine the other day, ran a normal Defcon over the top and joined fine. No problems for the entire match, I believe. Although I'm pretty certain I was using the same key for both. Surely I should have been made a Demo user?
Here is my signature. Make of it what you will.
Image
User avatar
bert_the_turtle
level5
level5
Posts: 4795
Joined: Fri Oct 13, 2006 6:11 pm
Location: Cologne
Contact:

Postby bert_the_turtle » Wed Jun 13, 2007 1:38 am

Curtis: As far as I remember, the others were not dropped. If you were kicked, that means at least you could still receive packets from the server; but your client did not answer. When the basic stability of the server is guaranteed, I'll think of a way to do post-mortem analyses of events like this.

shiny: no, it's perfectly fine to stay a full user and use the same key for playing and hosting. The exact same thing happens when you host a regular server; your key allows you to a) play and b) advertise your server to the metaserver, and that's what you did. The only difference is that my server has to send your key twice to the metaserver for authentication, once for himself, and the second time when you join, because the key sent by your client to the server is scrambled so the server can't steal it. The same happens when you shut down and restart Defcon and hop around some servers.

Very good news: [HUMAN] Player 1 aka Ernie (the one that held back a game today because he went away for lunch and made me implement idle-auto-kicks) figured out that the coordinates sent over the network are actually just doubles, and that fleet movements have a command separate
from plane movements. That was the last bit of info required to implement naval blacklists, which are a workaround for the ship-over-land bug. You
just have to create the blacklist by hand for every mod you want to play. Of course, I did that for the default map already, and the blacklist is active on the test server. Please test that the areas are neither too big nor too small. Build 0.4 will include that. I'll have to struggle a bit with the endianness on the Mac here.
Grim_Reaper
level1
level1
Posts: 18
Joined: Thu Aug 09, 2001 7:35 pm
Location: Copenhagen/Denmark
Contact:

Postby Grim_Reaper » Wed Jun 13, 2007 2:19 pm

I just tried playing a game on your demo server with another guy, and on getting into the game neither of us could place any units. With installations nothing happened at all, and with fleet the ships were just kicked right back into your reserve.
War does not determine who is right, it determines who is left.
User avatar
bert_the_turtle
level5
level5
Posts: 4795
Joined: Fri Oct 13, 2006 6:11 pm
Location: Cologne
Contact:

Postby bert_the_turtle » Wed Jun 13, 2007 3:27 pm

Reaper: yes, sorry, the demo mode server runs in optimized mode, and some weird glitch I don't understand caused position data to be garbled, which transformed your unit placement commands into unit placement commands on mars. It should be fixed now.

I took my mouth a bit too full on one part. It's not so easy to completely block my cheats. Some of them, yes, but unit state changes and airplane commands are more complicated. I'll have to let the server keep track of bits of gamestate. Luckily, some easy bits.
User avatar
torq
level3
level3
Posts: 399
Joined: Mon Oct 16, 2006 6:28 pm
Location: Moscow, Russia

Postby torq » Fri Jun 15, 2007 9:37 am

bert, will there be a possibility to change the game options, its type and scoring mode before the game starts?

And a couple of suggestions if you don't mind:

Automatic filter if the quantity of messages in chat windom from a single player exceeds some predefined threshold.
Automatic speed increase if no commands are given to units of the player requesting the slowest speed.
User avatar
bert_the_turtle
level5
level5
Posts: 4795
Joined: Fri Oct 13, 2006 6:11 pm
Location: Cologne
Contact:

Postby bert_the_turtle » Fri Jun 15, 2007 10:42 am

torq wrote:bert, will there be a possibility to change the game options, its type and scoring mode before the game starts?
There already is, but you need to have admin rights. By saying "/set Option value" you can change the settings, the names are identical to the names in the menu.

torq wrote:Automatic filter if the quantity of messages in chat windom from a single player exceeds some predefined threshold.

This is difficult to tune as it is hard to determine what is a reasonable amount of chat, but yeah.

torq wrote:Automatic speed increase if no commands are given to units of the player requesting the slowest speed.

Already done :)
User avatar
Cooper42
level4
level4
Posts: 810
Joined: Tue Mar 13, 2007 3:04 pm

Postby Cooper42 » Fri Jun 15, 2007 1:41 pm

Maybe it's just me, but I've noticed that fleets move slightly differently on DedCon. They tend to loose formation more easily than usual, in that they cluster when moving, then re-form once destination is reached. I don't have any screenshots right now though...

Small niggle, though, compared to what is a brilliant achivement.
Whoever you vote for, the government wins.
User avatar
bert_the_turtle
level5
level5
Posts: 4795
Joined: Fri Oct 13, 2006 6:11 pm
Location: Cologne
Contact:

Postby bert_the_turtle » Sat Jun 16, 2007 4:06 pm

Ah, it looks like I'm reversing the order of fleet placement commands, which puts the fleet together in the wrong order. Pretty chaotic :) The effect wears off some time after the first move command because the ships reshuffle and stay reshuffled.
Sirthomasthegreat
level3
level3
Posts: 466
Joined: Fri Oct 13, 2006 12:18 am

Postby Sirthomasthegreat » Sun Jun 17, 2007 5:13 am

It would be nice if you put the url to the download in the original post.
User avatar
bert_the_turtle
level5
level5
Posts: 4795
Joined: Fri Oct 13, 2006 6:11 pm
Location: Cologne
Contact:

Postby bert_the_turtle » Mon Jun 18, 2007 12:22 am

Good idea.

Build 0.4 is up: http://moosnet.homelinux.net/~manuel/defcon/dedcon/

This time, there also is a Windows installer. The Windows version is very crude, I'm afraid.

New this time:
- Added /info to give admins extended info about players
- Added /include to directly include files without /set Include
- Added admin levels to configuration options, added Sudo
- Added admin levels and more secure login methods
- Added chat spam protection
- The server now runs without a config file, and you can give
configuration options over the commandline.
- Fixed fleet formation chaos bug
- Added wait commands that are based on game time, not real time
- Added Include and Fork configuration file commands
- Added IP-based anti-ghosting mechanism
- Added global timeout to combat problem of players locking the server by
starting a game, then going AFK.
- The server now takes complete control over the clients' readyness status,
so it can determine precisely when the game starts.
- Added naval blacklists
- After a certain idle time, players can be automatically kicked to
spectator mode (while in the lobby) or made to speed up (when in game)
- Server is now aware of client speed changes and can intercept bogus requests
- Better ping calculation, faster packet loss compensation
- Better Mac compatibility: authkey found, bug with metaserver communication fixed
- Better handling of acks from the clients

What needs specific testing? The admin stuff, I would say. Especially the Sudo command; with it, you can prepare scripts that admins with lower privileges can execute, but once the scripts run, they run with higher privileges. And the /promote and /degrade chat commands. Please check whether with any of those, people can steal higher admit rights than they should.

Also, the server now tires to predict the game start. The difficult bit here is that the clients change their readyness on external events, and lots of things can go wrong. Put the lines

WaitStart
Say Started!

into your config files and try to produce game start mispredictions by doing crazy stuff in the lobby, like connecting, bouncing into and out of spectator mode, switching alliances, all the while pressing the 'ready' button at times. The bot should say "Started!" pretty much exactly when the game really starts.
Sirthomasthegreat
level3
level3
Posts: 466
Joined: Fri Oct 13, 2006 12:18 am

Postby Sirthomasthegreat » Mon Jun 18, 2007 1:41 am

I like it already. Do you have a .txt file with all the default settings listed, like the advanced ones? That would be very helpful. Also I saw the thing with critical mods and am a bit confused, if the dedcon server is running the mod do all the other people still need it? It seems like they dont from what I read. Just thought I would double check.

Forgot to ask, does the server re-open itself after the quit command?

Also, when my dedcon game has not started yet it shows in the lobby as started and only one slot open when in reality 6 are open. Anyway to fix that?

Just to add to my group of questions, I saw that to run a continuous server you need to invoke it in a loop script. I am not completely familliar with scripts. How would I go about doing so?

And so far I am the only one to connect to my server. Feud tried but it wouldnt connect.

I swear this is the last but how would I go about adding CPU's?
User avatar
bert_the_turtle
level5
level5
Posts: 4795
Joined: Fri Oct 13, 2006 6:11 pm
Location: Cologne
Contact:

Postby bert_the_turtle » Mon Jun 18, 2007 7:38 am

Sirthomasthegreat wrote:I like it already. Do you have a .txt file with all the default settings listed, like the advanced ones?
They're all in the ConfigFile.sample.txt that is available in the start menu. The values the settings have there are also the defaults.

Sirthomasthegreat wrote:Also I saw the thing with critical mods and am a bit confused, if the dedcon server is running the mod do all the other people still need it?
No, I clarified the text there a bit. The clients do need the mod installed.

Sirthomasthegreat wrote:Also, when my dedcon game has not started yet it shows in the lobby as started and only one slot open when in reality 6 are open. Anyway to fix that?
Was that after a while of running? I just found a bug that made the server think the game has ended although it hasn't even started yet, and that confuses the server browser.

Sirthomasthegreat wrote:Just to add to my group of questions, I saw that to run a continuous server you need to invoke it in a loop script. I am not completely familliar with scripts. How would I go about doing so?
Create a file named "loop.bat" in the installation directory, edit it and fill it with

Code: Select all

:begin:
.\dedcon.exe <your configuration file>
goto begin
Doubleclicking on it should start the loop. I shall include such a script in the next release.

Sirthomasthegreat wrote:And so far I am the only one to connect to my server. Feud tried but it wouldnt connect.
You probably need to set up port forwarding with the current version. I thought I implemented the NAT piercing correctly, but having only one LAN, it's a bit difficult to test. My ISP allows me to start multiple connections simultaneously so I can get multiple external IPs, I shall experiment a bit.

Sirthomasthegreat wrote:I swear this is the last but how would I go about adding CPU's?
The answer to that is simple: you can't currently :)
User avatar
bert_the_turtle
level5
level5
Posts: 4795
Joined: Fri Oct 13, 2006 6:11 pm
Location: Cologne
Contact:

Postby bert_the_turtle » Mon Jun 18, 2007 8:45 am

I fixed an obvious and stupid bug in the NAT piercing code and the one that caused the server to think the game has ended. The result is build 0.4.1 which has now replaced 0.4.

Return to “Mod Projects”

Who is online

Users browsing this forum: No registered users and 10 guests