Homegrown Dedicated Server: DedCon 1.6.0_svn1038

Discuss your new mods and themes here

Moderator: Defcon moderators

Sirthomasthegreat
level3
level3
Posts: 466
Joined: Fri Oct 13, 2006 12:18 am

Postby Sirthomasthegreat » Tue Jun 19, 2007 7:36 am

I had a stroke of genus. You know how you have a file where you put in your authkey. Why not have a file that does the same thing except you tell it the location. That way it would be computer specific on where the user has put it. Also, if you use a demo key will it still host 6 for dedcon?
User avatar
bert_the_turtle
level5
level5
Posts: 4795
Joined: Fri Oct 13, 2006 6:11 pm
Location: Cologne
Contact:

Postby bert_the_turtle » Tue Jun 19, 2007 7:53 am

I may have expressed it in incomprehensible technobabble, but that basically was my idea two posts ago.

And no, with a demo key, the usual demo restrictions apply.
et172
level0
Posts: 3
Joined: Mon Jun 18, 2007 8:06 pm
Contact:

Postby et172 » Tue Jun 19, 2007 10:54 am

I understand you don't want to release the source code of dedCon (though Chris from the Introversion staff said in this topic that they would ban any server which bypass restrictions anyway), but what about a description of the protocol, at least the part you have already understood ? This would not allow someone to easily bypass demo restrictions, since he would have to rewrite a server from scratch (which would be probably harder than hacking dedCon). A description of the protocol would be great because we could use it to do all sorts of useful things (for example, statistics, server query...).
User avatar
bert_the_turtle
level5
level5
Posts: 4795
Joined: Fri Oct 13, 2006 6:11 pm
Location: Cologne
Contact:

Postby bert_the_turtle » Tue Jun 19, 2007 11:54 am

On the source topic: meanwhile, IV asked me not to release it, and I agreed. From my point of view, the main problem are the easy to do modifications that remove restrictions AND fake the data sent to the metaserver AND block logins from known IV addresses so they can't possibly find out the data is fake (which would be difficult to do anyway). When one of those would pop up, the only way to combat it would be a protocol change that locks out the dedicated server completely, simple packet encryption would be enough. That would be a loss for everyone.

For the specifications: you're probably overestimating the amount of useful information that flows over the network. It's basically commands only. And eww, writing the specs would be work, and it still would be moderately dangerous and show you many ways to cheat. I can add metaserver query functionality and LAN broadcast listening to DedCon, 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 20, 2007 9:52 am

Ooh, something I noticed while running a server yesterday: chat messages. In the dedcon terminal, I get regular chat and private chat, but not alliance chat. This is at odds with spectator mode, where I get regular chat and alliance chat, but not private chat. Any reason for this?
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 20, 2007 10:05 am

Whoops, you're not supposed to see private chat. Only public chat should be visible so you can't cheat by looking at the server output when playing the game yourself.
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 20, 2007 10:11 am

Hehe, I thought that might be the case. :D
Here is my signature. Make of it what you will.

Image
daz0r
level0
Posts: 5
Joined: Sat Jun 23, 2007 6:35 am

Postby daz0r » Sat Jun 23, 2007 6:46 am

bert_the_turtle wrote:On the source topic


Bert, awesome stuff, thanks for doing all that! Can I make a few requests? Your installer said 'no complaining', but not 'no request' :)

- an x64 compiled version. It crashes on startup on my box and I think it may be x64 related?? At least an WOW64-friendly version?
- some type of plug-in interface so that if we can't see the source, we can at least write bot-hosts and bot-players?

Thanks and keep up the good work!!!
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 23, 2007 11:04 am

daz0r wrote:Your installer said 'no complaining', but not 'no request' :)
Curses!

daz0r wrote:- an x64 compiled version. It crashes on startup on my box and I think it may be x64 related?? At least an WOW64-friendly version?
If someone can tell me how to produce one without the hardware, sure. I think I know how to cross compile on Linux, but not on Windows. I'll do builds of the final releases for whatever is feasible. On the crash, would you be able to produce a backtrace if I gave you a version with debug symbols?

daz0r wrote:- some type of plug-in interface so that if we can't see the source, we can at least write bot-hosts and bot-players?
Bot players are not technically possible, the server has not enough information about the game state to feed the bot with the input it needs. It would be possible to give out all commands given by all players and let the bot handle the rest (which, in turn, would be pretty much impossible), but that interface would then also allow plenty of cheating.
A bot host would be a chatbot that reads player chat and comes up with witty responses? Some sort of eliza? For that, I'll probably make the server listen to standard input and interpret it like the config files, that should be enough for something like that.

Edit: I changed the launch scheme of my test servers. A new copy of the full server will restart every full hour, and every quarter hour, a new demo mode server is spawned. The servers run for at least an hour each until their replacement server pops up; of course, they'll keep on running as long as the game lasts. So the best time to enter the main server is 0-5 minutes after every full hour. Except at 5 AM BST, my DSL connection gets a forced reset shortly before 6 AM and I don't want it to interrupt a game, so no server is started at 5 AM.
daz0r
level0
Posts: 5
Joined: Sat Jun 23, 2007 6:35 am

Postby daz0r » Sat Jun 23, 2007 2:24 pm

bert_the_turtle wrote:If someone can tell me how to produce one without the hardware, sure. I think I know how to cross compile on Linux, but not on Windows. I'll do builds of the final releases for whatever is feasible. On the crash, would you be able to produce a backtrace if I gave you a version with debug symbols?


Depending on what compiler you're using, it should just be a command-line parameter. Most of 'em (MS VC++, gcc, etc) can compile x64 binaries on 32-bit machines, it's just a different compiler target. I believe you have to be using GCC4.1 or later or MS VC++ 6 or later (which I'm sure you probably are).

That is... unless you're doing any fancy stuff like direct pointer arithmetic (i.e. ptr += 4), inline-asm, etc.

For GCC, use platform target x86_64-*-*.

For MS VC++, you might use the /Wp64 switch which helps detect x64 portability problems. I think to compile x64, you just change the target platform to x64. If that doesn't work, let me know and I can get more specifics.

As far as the symbol build, yeah, I can get you the trace dump, no problem.

bert_the_turtle wrote:Bot players are not technically possible, the server has not enough information about the game state to feed the bot with the input it needs. It would be possible to give out all commands given by all players and let the bot handle the rest (which, in turn, would be pretty much impossible), but that interface would then also allow plenty of cheating.
A bot host would be a chatbot that reads player chat and comes up with witty responses? Some sort of eliza? For that, I'll probably make the server listen to standard input and interpret it like the config files, that should be enough for something like that.


Hrm, I see. Well, I was hoping to write a bot similar to BertBot that can help do speed management (force speeds on users that are idle/taking-too-long, etc) and maybe some sort of squelching, etc. I suppose some of that is possible through the stdin interface, right? So that might be sufficient.

It might be nice if there were a snoop API where I could write a bot that watched packets and then a command API which allowed only a limited subset of commands (basically what you allow through the chat commands and maybe a few extra things, but nothing that would allow cheating).

Also, as far as the cheating thing, I mean, people would just have to trust the bot, right? There are CounterStrike bots that cheat ON PURPOSE to increase their difficulty, etc. Also, it might be neat to have a bot that can punish users for backstabbing by moving all their ships back to home base, or antarctica, or destroying half their silos or something like that.

I'm just thinking out loud. What are your thoughts?
torig
level5
level5
Posts: 1251
Joined: Wed Dec 27, 2006 9:19 pm

Postby torig » Sat Jun 23, 2007 2:42 pm

daz0r wrote: Also, it might be neat to have a bot that can punish users for backstabbing by moving all their ships back to home base, or antarctica, or destroying half their silos or something like that.

What are your thoughts?


"PermitDefection" "No"

;)
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 » Sat Jun 23, 2007 7:58 pm

Perhaps sometime soon fancy thing like this will be able to be implemented:

http://forums.introversion.co.uk/defcon ... php?t=3056

Not the OP as such, but some of the ideas further down, like a countdown and then kicking the lowest-scoring player. The only trouble with that being that the server has no idea of the scores :(
Here is my signature. Make of it what you will.

Image
kapo
level0
Posts: 2
Joined: Sun Jun 24, 2007 3:17 pm
Contact:

problem

Postby kapo » Sun Jun 24, 2007 3:21 pm

I have problem with my server.. It`s running under Linux and its demo.. Everything is OK, I and my oponent connected to the game, but when we disconnect, server automatically shutdown.. How to do that server is still on? Maybe you can send me config file..

Thanks
daz0r
level0
Posts: 5
Joined: Sat Jun 23, 2007 6:35 am

Re: problem

Postby daz0r » Sun Jun 24, 2007 3:29 pm

kapo wrote:I have problem with my server.. It`s running under Linux and its demo.. Everything is OK, I and my oponent connected to the game, but when we disconnect, server automatically shutdown.. How to do that server is still on? Maybe you can send me config file..

Thanks


I think it says how to do that in a readme... write a script that loops and respawns the server when it exits.
kapo
level0
Posts: 2
Joined: Sun Jun 24, 2007 3:17 pm
Contact:

Postby kapo » Sun Jun 24, 2007 5:28 pm

Can you help me with that script? I don`t know how it looks like

Return to “Mod Projects”

Who is online

Users browsing this forum: No registered users and 1 guest