Hey Lyfe. Thanks a lot for coming by. Like Ralphis said, everything could get a lot better if we were all as reasonable and magnanimous as you were in your posts here, and I personally really appreciate it.
Apropos, I think there's a lot of bad blood on all sides, mostly for pretty good reasons. It's perhaps easy to forget that some pretty ridiculous things have happened in the multiplayer Doom community, the "Black csDoom Launcher" to CodeImp's various escapades, or Skulltag stealing Skulltag from itself (and then half giving it back again...). And sure, some people care only about themselves or their reputation or whatever. But I think it's clear that the majority of us - on all sides - really love Doom and want to see the community grow.
I think it's absolutely right that the ZDaemon administration is in control of its services, like ZDIRC, the forums or the master, and its products like ZLauncher, GetWAD, ZSL, and ZDaemon itself. I think the administration is absolutely right to exercise that control in whatever way it likes. For example, you believe that allowing cheaters to play is ultimately not beneficial (I'm not saying I disagree), and you use the master banlist accordingly. However, I disagree with some of the decisions you've made.
==== Permission to interact
I agree it would have been nicer if Blzut3 (Doomseeker's developer) asked for permission and information about the query protocol, but I think you do yourselves a disservice alienating a smart, active developer like him, because unless explaining the ZD query protocol exposes security holes there's no benefit to you; in fact he might be interested in fixing them if they exist. Furthermore he's the developer of an extremely popular launcher in the multiplayer Doom community, and now everyone who knows about Doomseeker also knows that the ZD administration was upset that it could... list ZDaemon servers.... This is terribly, awfully, extremely bad PR for, again, no gain whatsoever for you.
I think the larger point is one of perspective though. When IDE and Doomseeker added support for Odamex we helped the devs and appreciated their efforts - even though we have our own launcher. When Blzut3 added support for ZDaemon he got... well whatever it is he got.
I think you're within your rights to do whatever you like to your query protocol, but I think it's harmful for ZDaemon and the greater multiplayer Doom community.
==== Closing the source
I think you've articulated the argument for closing the source pretty well, and there are a lot of things I agree with; for one, it's certainly easier to write exploits and cheats with access to the source code. However, I believe that the tradeoffs - turning off otherwise interested developers and bad PR are not worth it, because closing the source has ultimately been ineffective in stopping the use of cheats.
Indeed cheats exist for ZDaemon and because cheat detection doesn't extend to non-advertised servers, the IDL requires all players to submit demos for every game they play. Of course, this method works because there are a finite amount of IDL games, and it's nowhere close to 100% accurate. However, ZDaemon's tactic of closing the source is far from foolproof as well. ZDHook is the most famous cheat package released since the source was closed, but I personally know of another that's undetected and in use since late 2008, and other utilities using the same basic principle are in circulation.
I think if the goal of closing the source was to prevent cheating, and the community has to live with cheats anyway, then the tactic was a failure and the tradeoff is no longer worth it.
I, along with others, believe IDL is a hugely great thing for the multiplayer Doom community - specifically for ZDaemon - and we would very much like to work together with the ZDaemon administration to make it even better. Our feature requests as well as our discussions with administrators and moderators (yes, often times about Ralphis) are all in this spirit. A good example is the advertising issue. We want to advertise our servers on the ZDaemon master so more people will know about us, but our main disagreement is this:
- IDL requires that it controls who can and can't play in the league.
- ZDaemon requires that it controls who can and can't play in the league.
Both sides feel as though they're right because both sides feel they're the best judge of this issue, but ZDaemon wins because you control the master server; the decision is absolutely up to you guys. As far as I know, Kilgore was open to the idea of advertising most of IDL's servers but still allowing us some private servers so our banned players could still play, but then he changed his mind, is that not the case?
I should also make it clear I'm no longer a member of the IDL Board or administration, so if this issue is going to move forward, you'll want to speak with HumanBones, Goatface, Mikehail, Mantis-X, dewww, or MassVC.
I think it's fair to say that the ZDaemon administration wants as much control over ZDaemon as it can possibly get, like who queries the master, what you can or can't talk about on the forums/IRC, or who plays on advertised servers. This, of course, is your prerogative, its your services and programs, and I think you have every right to exercise that control. My issue is that I think many of the ways in which you do so are harmful to the ZDaemon and multiplayer Doom community, and I wish you'd stop.
=== Feature Request
Now for something a little less serious
I'll be blunt, the idea with serverside sayto was so I wouldn't have to wait 40 years for 1.09 to actually use new ZDaemon features, and this was nearly 2 years ago. In fact, that was really the whole motivation behind writing ZDStack; I could've asked the ZDaemon development team for better stats, or better config/process management, or a web management interface, or event plugins (all of which ZDStack has) but it was actually just faster to write it myself. You can do a lot more with serverside sayto than just implementing finer-grained passwords; ultimately it's a way to interact with ZDStack directly from the client.
And again, I really don't understand the cheating issue. The only things the server knows that the client doesn't are IP addresses and team/sayto chat, and if I'm interested in spying on that stuff I don't want it fed directly to my client while I'm in a game, I'll have it on tail on a laptop or something. Serverside sayto allows non-server admins to interact with the server; server admins don't need the server to send anything back to the client, they can just keep an SSH window open or whatever.
But I thought, "OK, so the argument is that servers sending information privately to one client could be used for some kind of cheating, even though I can't figure out what exactly, so why not make it really annoying? If you want to spy on someone's team chat, every time the server sends a 'sayto', make a huge noise and block the screen out with a HUD message."
Specifically with passwords, serverside sayto would be used to inform the user whether or not they authenticated correctly. Otherwise it has to be broadcast to all players, which is a big pain in the ass. Who cares if [UD]RottKing can't remember his password is "asukamyl0ve"?
All of which I would've explained (maybe with less hyperbole about 1.09's prolonged development period) had Kilgore not locked the thread. It's worth saying that it's pretty lame to argue with someone in an "I'm locking this thread" post. Then the other party has to start a whole other thread to respond, they look like a crybaby, and the administration feels like they're being harassed. Or, like me, they just give up.
=== "It makes me heated"
I use this famous Tai quote to kick off my own apology. I have a tendency to only post when something makes me angry, and thus I also have a tendency to go too far. I apologize if I've offended you Lyfe, or really anyone I didn't specifically mean to offend (that is you Mobius, I mean to offend you always). I do my best not to take anything on the internet personally (even though my love for multiplayer Doom sometimes makes it hard), and I hope you all do the same.