IIRC Torr said he would disable it if there was an abuse case. Referring to ConsoleCommand isn't a valid argument anyway since like I said, it's a horrible idea. It's only there at the moment because Skulltag had it.Watermelon wrote:Currently even without this implementation, there's already a way to overload someones hard drive using ConsoleCommand, but that is in there, an that can affect clients anywhere at any time, whereas this would only affect the server. I even think Apothem proved you could delete someone's files on their computer with ACS somehow.
ConsoleCommand discussion
ConsoleCommand discussion
-
Watermelon
- Zandrone
- Posts: 1244
- Joined: Thu Jun 28, 2012 9:07 pm
- Location: Rwanda
RE: Need modders input (Account system data ACS)
I apologize: I don't follow what you mean. Can you clarify?
Last edited by Watermelon on Sat Feb 09, 2013 7:25 am, edited 1 time in total.
- Torr Samaho
- Lead Developer
- Posts: 1543
- Joined: Fri May 25, 2012 6:03 pm
- Location: Germany
RE: Need modders input (Account system data ACS)
ConsoleCommand is an abomination that was added to Skulltag before I joined the development. If you ask me, it should have never been added in the first place. The only reason why I haven't removed it yet is that many mods rely on it. Nevertheless, if ConsoleCommand is going to be abused too much, I will either remove it entirely or at least disable it by default so that the user has to activate it manually to use mods that need it.
RE: Need modders input (Account system data ACS)
Define "abused."Torr Samaho wrote: if ConsoleCommand is going to be abused
Really, the only thing that you can "Abuse" with ConsoleCommand is screwing with a client's settings, and spamming their INI file with fake settings, and hopefully you won't see that very often...
And it lets you do a lot of things that you can't do without it, even in the newest zDoom revisions. Don't remove it unless you're adding in a bunch of ACS functions that replicate every behavior it was used for previously.
Good examples are: Puking Clientside Scripts for one player.
Changing server settings automatically for your map (ones that aren't implemented in MAPINFO)
Also, a very good example is a mod I made that allows you to administrate your server from inside the game quickly and efficiently with an ACS menu, and allows you to set up permissions for server administrators without giving them the actual RCON password by making the server ConsoleCommand things like kick, and ban.
Furthermore, this topic has absolutely nothing to do with ConsoleCommand, and everything to do with allowing servers to save data after a game session WITHOUT having to use (NOT abuse) things like ConsoleCommand, and relying on the limited application of inis.
Last edited by Llewellyn on Sat Feb 09, 2013 10:34 pm, edited 1 time in total.
-
Ijon Tichy
- Frequent Poster Miles card holder
- Posts: 901
- Joined: Mon Jun 04, 2012 5:07 am
RE: Need modders input (Account system data ACS)
Add to that being able to save custom CVars and giving the client a way to communicate to the server automatically (if that's not what you meant by the first point).
Remove ConsoleCommand and I will abandon Zandronum. It's literally the only reason I stay here.
Remove ConsoleCommand and I will abandon Zandronum. It's literally the only reason I stay here.
RE: Need modders input (Account system data ACS)
We're getting way off-topic here, but would a CVAR to print out all ConsoleCommand usage be a viable compromise?
[EDIT] Thread split for the sake of not reeling off the rails too much in the original topic.
[EDIT] Thread split for the sake of not reeling off the rails too much in the original topic.
Last edited by Dusk on Sat Feb 09, 2013 11:27 pm, edited 1 time in total.
-
Catastrophe
- Retired Staff / Community Team Member
- Posts: 2571
- Joined: Sat Jun 02, 2012 2:44 am
RE: ConsoleCommand discussion
Unless Zandronum adds new functions to replace what people use consolecommand for, then don't remove it.
-
TerminusEst13
- Retired Staff / Community Team Member
- Posts: 865
- Joined: Tue Jun 05, 2012 11:06 pm
RE: ConsoleCommand discussion
Basically this, please.Catastrophe wrote: Unless Zandronum adds new functions to replace what people use consolecommand for, then don't remove it.
The way I see it, ConsoleCommand is a double-edged sword.
Yes, it's stupidly easy for someone to create a troll wad to make some havoc, making a script that does UnbindAll and say "dicks dicks dicks dicks dicks" in a constant loop.
But also at the moment, there's quite a few things that can be done with only console command and there simply aren't any adequate replacements for it. It makes quite a few things infinitely easier to do.
That doesn't mean it shouldn't have a better alternative, but in the meantime until the aforementioned better alternative comes up it's pretty vital.
The Ranger - New class for HeXen.
ZDoom Wars - I drew some pictures.
Samsara - Some class-based mod I guess?
Metroid: Dreadnought - I am a dumb fanboy.
DemonSteele - ~come with me to anime world~
ZDoom Wars - I drew some pictures.
Samsara - Some class-based mod I guess?
Metroid: Dreadnought - I am a dumb fanboy.
DemonSteele - ~come with me to anime world~
RE: ConsoleCommand discussion
Some of my mods rely on ConsoleCommand for serverside commands.
Last edited by Ænima on Sun Feb 10, 2013 12:48 am, edited 1 time in total.
Reinforcements: midgame Survival joining/respawning
Doom64: Unabsolved: Doom64 + Diablo II
ZandroSkins: a pack made by our community
AeniPuffs: 3D blood and bullet puff effects, free to use for your own mods
Squad Radio: a WASD-based radio chat menu, add your own custom sounds!
Mercenaries (on hold)

Doom64: Unabsolved: Doom64 + Diablo II
ZandroSkins: a pack made by our community
AeniPuffs: 3D blood and bullet puff effects, free to use for your own mods
Squad Radio: a WASD-based radio chat menu, add your own custom sounds!
Mercenaries (on hold)

RE: ConsoleCommand discussion
I did something that forced item respawn for timed respawning items and had to use consolecommand for this, always wondered if there was another way :/Ænima wrote: Some of my mods rely on ConsoleCommand for serverside commands.
- Combinebobnt
- Retired Staff / Community Team Member
- Posts: 1906
- Joined: Mon Jun 04, 2012 3:37 am
- Location: Earth
- Contact:
RE: ConsoleCommand discussion
You should make like a whitelist or something of commands that conslecommand can do (change c/svars, puke scripts, other useful mod stuff), and disable execution of all other commands that aren't in that list. That would help so that any abuse case won't happen in the first place, as "nobody has abused it yet so we are safe" might not hold true forever.
- Dark-Assassin
- Maintenence Crew
- Posts: 968
- Joined: Fri May 25, 2012 4:25 am
RE: ConsoleCommand discussion
consolecommand should at least not save settings. Forcing it on client side scripts is just horrible.
RE: ConsoleCommand discussion
Several mods use this method to create variables in order to save a form of persistent data across game sessions that are used for personal settings for their mod. Unless a method is created to replace this, please, no.-=Dark-Assassin=- wrote: consolecommand should at least not save settings. Forcing it on client side scripts is just horrible.
-
Ijon Tichy
- Frequent Poster Miles card holder
- Posts: 901
- Joined: Mon Jun 04, 2012 5:07 am
RE: ConsoleCommand discussion
Removing the ability to archive CVars removes 90% of the legitimate use for it.-=Dark-Assassin=- wrote: consolecommand should at least not save settings. Forcing it on client side scripts is just horrible.
Last edited by Ijon Tichy on Sun Feb 10, 2013 4:16 am, edited 1 time in total.
RE: Need modders input (Account system data ACS)
Well first of all I should point out that consolecommand/getcvar are inheriently non-portable. While I expect this to not be considered important to the average user, this is something that prevents extended ACS from being a universal scripting language for Doom. To give an example of the portability issues, Fragglescript supposedly is based partly around console command execution and requires that (G)ZDoom have only partial support.
The console is also mostly considered not game state critical, which means it has no place in a scripting language mostly dedicated to game state manipulation. This results in the usage having unclear semantics and differing mechanics between net code types. If replaced with proper features, the engine has more clear instructions to follow allowing for better forwards and cross compatibility.
Basically the point is these features have a bad benefit to cost ratio, which can only be seen if looking at things from the port developer's point of view. They were implemented as a supposed easy way to implement a set of features and as a result provides easy abuse cases (some of which Zandronum blocks through a blacklist already) and compatibility headaches.
One thing to remember is that ACS scripts are supposed to be deterministic. While the server authoritive model of C/S ports helps mask this, introducing more paths for non-deterministic behavior could cause problems in the future.
The console is also mostly considered not game state critical, which means it has no place in a scripting language mostly dedicated to game state manipulation. This results in the usage having unclear semantics and differing mechanics between net code types. If replaced with proper features, the engine has more clear instructions to follow allowing for better forwards and cross compatibility.
Basically the point is these features have a bad benefit to cost ratio, which can only be seen if looking at things from the port developer's point of view. They were implemented as a supposed easy way to implement a set of features and as a result provides easy abuse cases (some of which Zandronum blocks through a blacklist already) and compatibility headaches.
I have no idea why this is better than giving the rcon password to people that should administrate your server, but this sounds like something that should be handled by the engine itself and not a mod.Llewellyn wrote: Also, a very good example is a mod I made that allows you to administrate your server from inside the game quickly and efficiently with an ACS menu, and allows you to set up permissions for server administrators without giving them the actual RCON password by making the server ConsoleCommand things like kick, and ban.
One thing to remember is that ACS scripts are supposed to be deterministic. While the server authoritive model of C/S ports helps mask this, introducing more paths for non-deterministic behavior could cause problems in the future.
RE: ConsoleCommand discussion
I see the ConsoleCommand thing the same way as I see allowing to call custom system commands on a remote web service. If you get all the permissions, blacklist, whitelists, and so on, right then it will be safe. But if you forget about that one tiny thing that someone else discovers, a "rm -rf /" happens. So, to me, ConsoleCommand is a security threat, and security threats should be removed.
Last edited by Zalewa on Sun Feb 10, 2013 2:16 pm, edited 1 time in total.
Doomseeker - a real answer to cross-platform server browser.
Doomseeker dev builds - unofficial Doomseeker builds for Windows.
Gamer's Proxy - a program to emulate ping and packet losses.
Doomseeker dev builds - unofficial Doomseeker builds for Windows.
Gamer's Proxy - a program to emulate ping and packet losses.
RE: ConsoleCommand discussion
Agree with Zalewa. A wad that can be made by anyone with any intentions shouldn't have direct access to server and client console by logic, although I understand that its use has grown into big scale as of now, and it would be a pain for modders if it was plain removed.
I've seen quite shady use of ConsoleCommand around, from fucking with users' config (WDI, before it was removed) to this plain dumb script in fxdms3.wad that is probably meant to be executed by the client when it grabs BFG but it executes on the server too.
It had me baffled for at least half an hour trying to understand who and how is saying that. Did someone steal my RCON password? There is no sign of using RCON in the console. Did someone find an exploit? It's neither funny nor legitimate use of ConsoleCommand.
I've seen quite shady use of ConsoleCommand around, from fucking with users' config (WDI, before it was removed) to this plain dumb script in fxdms3.wad that is probably meant to be executed by the client when it grabs BFG but it executes on the server too.
Code: Select all
script 2 (void) //Lol
{
delay( 35 );
consolecommand( "say Im a n00b so I use the BFG!!!11!1111" );
}It had me baffled for at least half an hour trying to understand who and how is saying that. Did someone steal my RCON password? There is no sign of using RCON in the console. Did someone find an exploit? It's neither funny nor legitimate use of ConsoleCommand.
Ijon Tichy wrote:I like how your first responses to concerns being raised was to start insulting people, accusing random people on the Internet of being Shadowfox, and digging up irrelevant shit from the past. It really inspires confidence in me that you guys are level-headed and rational folks.
<BlueCool> you guys IQ is the same as my IP, Dynamic
- Dark-Assassin
- Maintenence Crew
- Posts: 968
- Joined: Fri May 25, 2012 4:25 am
RE: ConsoleCommand discussion
Sorry, wasn't really clear.Llewellyn wrote:Several mods use this method to create variables in order to save a form of persistent data across game sessions that are used for personal settings for their mod. Unless a method is created to replace this, please, no.-=Dark-Assassin=- wrote: consolecommand should at least not save settings. Forcing it on client side scripts is just horrible.
I was talking about the internal cvars, such as GVH forcing OpenGL client settings.
Just an example.
RE: ConsoleCommand discussion
I can agree that it can be dangerous, but I would imagine if anyone ever did try to harm the user through their wad via ConsoleCommand that they would be removed from the community. There's really no need to maliciously use something widely used in popular wads these days. I agree to the idea of waiting for a good replacement of ConsoleCommands for the sake of the good wads that rely on it.
Last edited by Razgriz on Sun Feb 10, 2013 6:21 pm, edited 1 time in total.
<PUN1SH3R> Cube has a magnetic effect
<PUN1SH3R> all other clans are in orbit with us, they just dont know it
<PUN1SH3R> occasionally cube will pull a player into it's system
[Quote=DwangoUnited Website] Eyes has tainted the DWANGO name in World of Warcraft. Eyes owes several thousand gold to friends that offered to loan it to him. He's since cut us off completely, and is not planning on gaming or paying back what he owes leaving DWANGO United with the debt. You have hurt us in more ways than you can know, pal. I hope you're happy that we've bent over backwards for you. Thanks for paying us back with a spit in the face and a cold shoulder. By the way pal, your bfg skills suck ass.[/quote]
09:08 <Shane_> It's better being a cuck
09:08 <Shane_> Trust me, you'll learn one day
<PUN1SH3R> all other clans are in orbit with us, they just dont know it
<PUN1SH3R> occasionally cube will pull a player into it's system
[Quote=DwangoUnited Website] Eyes has tainted the DWANGO name in World of Warcraft. Eyes owes several thousand gold to friends that offered to loan it to him. He's since cut us off completely, and is not planning on gaming or paying back what he owes leaving DWANGO United with the debt. You have hurt us in more ways than you can know, pal. I hope you're happy that we've bent over backwards for you. Thanks for paying us back with a spit in the face and a cold shoulder. By the way pal, your bfg skills suck ass.[/quote]
09:08 <Shane_> It's better being a cuck
09:08 <Shane_> Trust me, you'll learn one day
- Torr Samaho
- Lead Developer
- Posts: 1543
- Joined: Fri May 25, 2012 6:03 pm
- Location: Germany
RE: Need modders input (Account system data ACS)
Yes, screwing with the user's settings (client or server) is certainly abusing this feature. Using "say" to make a player say certain things is an abuse as well.Llewellyn wrote: Define "abused."
Really, the only thing that you can "Abuse" with ConsoleCommand is screwing with a client's settings, and spamming their INI file with fake settings, and hopefully you won't see that very often...
If ConsoleCommand is so important for you, please tell us in detail what you use it for here, so we can think about creating proper ACS functions that achieve the same things in a way that's not a big security problem.Ijon Tichy wrote: Remove ConsoleCommand and I will abandon Zandronum. It's literally the only reason I stay here.
Thanks for pointing this out! I added "say" and "say_team" to Zandronum's ConsoleCommand blacklist putting an end to this misuse.Konar6 wrote:Code: Select all
script 2 (void) //Lol { delay( 35 ); consolecommand( "say Im a n00b so I use the BFG!!!11!1111" ); }
It had me baffled for at least half an hour trying to understand who and how is saying that. Did someone steal my RCON password? There is no sign of using RCON in the console. Did someone find an exploit? It's neither funny nor legitimate use of ConsoleCommand.
