Homegrown Dedicated Server: DedCon 1.6.0_svn1038
Moderator: Defcon moderators
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 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!
Worked perfectly 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!
-
- level1
- Posts: 57
- Joined: Fri May 04, 2007 10:15 pm
- shinygerbil
- level5
- Posts: 4667
- Joined: Wed Dec 22, 2004 10:14 pm
- Location: Out, finding my own food. Also, doing the shinyBonsai Manoeuvre(tm)
- Contact:
- bert_the_turtle
- level5
- Posts: 4795
- Joined: Fri Oct 13, 2006 6:11 pm
- Location: Cologne
- Contact:
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.
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.
-
- level1
- Posts: 18
- Joined: Thu Aug 09, 2001 7:35 pm
- Location: Copenhagen/Denmark
- Contact:
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.
- bert_the_turtle
- level5
- Posts: 4795
- Joined: Fri Oct 13, 2006 6:11 pm
- Location: Cologne
- Contact:
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.
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.
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.
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.
- bert_the_turtle
- level5
- Posts: 4795
- Joined: Fri Oct 13, 2006 6:11 pm
- Location: Cologne
- Contact:
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:bert, will there be a possibility to change the game options, its type and scoring mode before the game starts?
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
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.
Small niggle, though, compared to what is a brilliant achivement.
Whoever you vote for, the government wins.
- bert_the_turtle
- level5
- Posts: 4795
- Joined: Fri Oct 13, 2006 6:11 pm
- Location: Cologne
- Contact:
-
- level3
- Posts: 466
- Joined: Fri Oct 13, 2006 12:18 am
- bert_the_turtle
- level5
- Posts: 4795
- Joined: Fri Oct 13, 2006 6:11 pm
- Location: Cologne
- Contact:
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.
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.
-
- level3
- Posts: 466
- Joined: Fri Oct 13, 2006 12:18 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?
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?
- bert_the_turtle
- level5
- Posts: 4795
- Joined: Fri Oct 13, 2006 6:11 pm
- Location: Cologne
- Contact:
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:I like it already. Do you have a .txt file with all the default settings listed, like the advanced ones?
No, I clarified the text there a bit. The clients do need the mod installed.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?
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: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?
Create a file named "loop.bat" in the installation directory, edit it and fill it withSirthomasthegreat 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?
Code: Select all
:begin:
.\dedcon.exe <your configuration file>
goto begin
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:And so far I am the only one to connect to my server. Feud tried but it wouldnt connect.
The answer to that is simple: you can't currentlySirthomasthegreat wrote:I swear this is the last but how would I go about adding CPU's?
- bert_the_turtle
- level5
- Posts: 4795
- Joined: Fri Oct 13, 2006 6:11 pm
- Location: Cologne
- Contact:
Who is online
Users browsing this forum: No registered users and 10 guests