Author Topic: Controlling Soldat externaly (idea) ?  (Read 2766 times)

0 Members and 1 Guest are viewing this topic.

Offline Raithah

  • Camper
  • ***
  • Posts: 424
  • Life™
Controlling Soldat externaly (idea) ?
« on: January 07, 2007, 08:17:25 pm »
After returning from a terrible game involving a hacker, I came to thinking about bots. Maybe, just maybe, it would be possible to create some ub3r bot with practicaly super-human reflexes to combat the hackers. Then I remembered how hordes can't kill my baby cousin thus the idea was scrapped.

Until I came to wondering again. When the 'autodemo' feature is in use, it constantly updates the 'autodemo.sdm' file in the demos folder. As the file grows larger every second Soldat is in use, I concluded that information about the game is being stored there. The next important step that followed was in the demo player itself; as the game seemed to treat each demo as though it were a game, e.g. showing conversations from the last played game, kills, etc. . What I assume, and can only assume from this is that the demo files are the actual positions of players, objects, and bullets and such on the map. Another reasonable piece of information. The final piece came when browsing a macro site (curious how that random weapon chooser worked) and it finaly dawned on me. If it were possible for another program to read the Soldat 'autodemo.sdm' file while it was being written and use a system similar to the macro's to control the program, wouldn't it be (theoreticaly) possible to create a bot that can see via the demos, and control it by the macros ?

The preferred outcome of war is peace. Ironic, huh ?
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam auctor lectus pulvinar neque. Vestibulum commodo nisl convallis nisi. Aliquam in magna. Quisque orci. Duis sed nunc eu quam egestas feugiat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla auctor turpis non urna. Sed porttitor. Donec et dui non odio.

Offline EnEsCe

  • Retired Soldat Developer
  • Flamebow Warrior
  • ******
  • Posts: 3101
  • http://enesce.com/
    • [eC] Official Website
Re: Controlling Soldat externaly (idea) ?
« Reply #1 on: January 07, 2007, 10:37:45 pm »
No one has the demo file structure, so it wont happen.

Offline Michal Marcinkowski

  • Creator of Soldat
  • Flagrunner
  • ******
  • Posts: 808
  • I ain't got time to bleed.
    • Soldat home page
Re: Controlling Soldat externaly (idea) ?
« Reply #2 on: January 09, 2007, 09:55:52 am »
Why would you make a bot be controlled by a demo file? Or am I missing the point?

Offline EnEsCe

  • Retired Soldat Developer
  • Flamebow Warrior
  • ******
  • Posts: 3101
  • http://enesce.com/
    • [eC] Official Website
Re: Controlling Soldat externaly (idea) ?
« Reply #3 on: January 09, 2007, 09:59:13 am »
Why would you make a bot be controlled by a demo file? Or am I missing the point?
Nah, he means someone make a 3rd party program which will read from autodemo.sdm and parse it and do whatever with it.

EDIT: I think....

Offline Raithah

  • Camper
  • ***
  • Posts: 424
  • Life™
Re: Controlling Soldat externaly (idea) ?
« Reply #4 on: January 09, 2007, 10:10:32 am »
Yep, EnEsCe's got the idea there :) The main problem with making bots externaly is their lack of information provided by the game. The demo-files seem to have all the information that the game provides, so they seem like a great place to gather said info.

On a related note, if the structure isn't open how is it that there are so many demo players ? Or are those just fancied up command-line players.

The preferred outcome of war is peace. Ironic, huh ?
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam auctor lectus pulvinar neque. Vestibulum commodo nisl convallis nisi. Aliquam in magna. Quisque orci. Duis sed nunc eu quam egestas feugiat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla auctor turpis non urna. Sed porttitor. Donec et dui non odio.

Offline -Vis-

  • Flagrunner
  • ****
  • Posts: 980
  • Zarch
Re: Controlling Soldat externaly (idea) ?
« Reply #5 on: January 09, 2007, 11:04:32 am »
On a related note, if the structure isn't open how is it that there are so many demo players ? Or are those just fancied up command-line players.

Yeah, that's exactly what they are.


Offline q0p4z

  • Major(1)
  • Posts: 29
Re: Controlling Soldat externaly (idea) ?
« Reply #6 on: January 09, 2007, 01:34:15 pm »
i saw on some servers anti-hacker "bots" they were in spectator mode. but i never saw them in action (kicking someone for cheating)

and i dont think it was a person because that "bot" was 24h in the server.

@Raithaid

if that type of bots could be possible what would you do with them? like: how do you want to see if someone hacked or not?

Offline EnEsCe

  • Retired Soldat Developer
  • Flamebow Warrior
  • ******
  • Posts: 3101
  • http://enesce.com/
    • [eC] Official Website
Re: Controlling Soldat externaly (idea) ?
« Reply #7 on: January 09, 2007, 07:34:36 pm »
Demo player programs just open Soldat with command line parameters, nothing to do with reading the actual demo file.

Offline Raithah

  • Camper
  • ***
  • Posts: 424
  • Life™
Re: Controlling Soldat externaly (idea) ?
« Reply #8 on: January 09, 2007, 07:43:47 pm »
q0p4z, there are certain forms of filters, such as bayesan, that are pretty smart for computers. After a while of handholding, in which you slowly teach it hack from no hack, it eventualy finds similarities between real hackers, plane-jane laggers and random idiots who say 'h4x' a lot. Of course this isn't a fool proof system, but the bot could also be voted on or off by the players if it becomes too much of a menace.

And to EnEsCe, I sure am glad to know that the demo structure hasn't been released, it seems like such a simple thing but could easily explode into hundreds of dreadful hacks. But just for curiosity's sake, can you say whether or not opening the demo files in a hex editor would work (similar to reading map files) ? I'm sure you won't answer but it's worth a shot :)

The preferred outcome of war is peace. Ironic, huh ?
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam auctor lectus pulvinar neque. Vestibulum commodo nisl convallis nisi. Aliquam in magna. Quisque orci. Duis sed nunc eu quam egestas feugiat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla auctor turpis non urna. Sed porttitor. Donec et dui non odio.

Offline BenB

  • Major(1)
  • Posts: 7
Re: Controlling Soldat externaly (idea) ?
« Reply #9 on: February 20, 2007, 02:09:26 pm »
all hex editors do is read the bytes and display their hex values, it'll work but you have no idea about the structure, so it doesn't help you.