gzcmd - GZDoom Command Line Helper (3.5 release 1/28/2022)

Launchers like ZDL, DoomRunner, and others belong here.
Forum rules
The Projects forums are ONLY for YOUR PROJECTS! If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.

Please read the full rules for more details.
cribolouf
Posts: 4
Joined: Tue Nov 19, 2019 12:02 am

gzcmd - GZDoom Command Line Helper (3.5 release 1/28/2022)

Post by cribolouf »

!!! New Release! 3.5 !!! Updated for GZDoom 4.7.1

I love GZDoom, and have been using it for years. But, if there's one place that it hurts in, it's the fact that multiplayer games can only be launched through the command line, or through some form of front end. I tend to be a purest when it comes to using applications. If I don't have to stick another program on top of the program I'm already using, I'm happy. So for all of those out there who don't want a full featured front end, but just want something to parse command line arguments for basic operations.

This is where gzcmd comes in. It runs in your command window, and all it does is parses your input from a series of menus into command line arguments so you can host and join games without any overhead. Once it launches gzdoom the program self-terminates.

What it Does:

*Single Player and Multiplayer support for up to 32 Players
*Records and plays back demo files
*Supports all native Multiplayer Modes, including setting Time and Frag Limits
*Support for all options and DMFlags in the Gameplay Options menu
*Plain English selection of IWADs, Maps, Skill Levels
*Easy Access to player customization options
*All compatible IWADs supported
*Support for up to 9 PWADs
*Shows your external IP address when hosting a server
*Is less than half a MB in size





...and the best part is, the code is 100% native windows command line. No compiling, no required libraries. I've provided a pastebin link to the entire code. Save the code as gzcmd.bat and edit as you like.

https://pastebin.com/Dnhhh0rP

Or, if you'd prefer, download from here

https://drive.google.com/file/d/1o1TNcR ... sp=sharing

This is a work in progress, and as such features will be continually added.

I hope some of you can find use in this, and give me ideas on where I should go next with it.

Edit 1/28/2022: release 3.5 - Episode selection for unity final doom wads (tnt and plutonia) working properly
3 new DMFlags have been added
Edit 11/15/2020: release 3.4 - All unity doom wad versions up through 1.3 should now be detected properly
Edit 10/25/2020: release 3.3 - Strife Teaser IWAD detection has been split into old and new versions
WadSmoosh as an IWAD once again allows selection of sewers.wad and betray.wad
Edit 10/16/2020: release 3.2a - Minor hotfixes to strings and version numbers
Edit 10/16/2020: release 3.2 - Some minor fixes to syntax
Added support for new IWADs (Xbox and Unity)
Edit 11/30/2019: release 3.1a - Many minor bug fixes since 3.1.
ACTUALLY works on Windows 7 now. (Thanks to MH for testing).
Edit 11/30/2019: release 3.1 - A huge amount of code cleanup and general QoL improvements.
Creates a cache file in order to improve loading times.
Should work on Windows 7 now.
Edit 11/26/2019: release 3.0 - Added a few QoL improvements (such as not being able to launch Gzdoom without an IWAD selected)
PWAD Support is finally here, making this a huge milestone as far as features.
Edit 11/26/2019: release 2.6 - Off-loaded demo playback to a main menu option, some improvement on demo recording dialogues.
Edit 11/26/2019: release 2.5 - Added new feature, recording and playback of demo files
Edit 11/25/2019: release 2.4a - Critical crash introduced in 2.4 has been fixed.
Edit 11/25/2019: release 2.4 - More code cleanups.
A few DMFlags fixed.
GZcmd no longer defaults to doom_complete.pk3 as an IWAD, requires you to select an IWAD before editing many values.
Max players increased to 32.
Deathmatch mode now always selects -altdeath, but with -deathmatch rules as -deathmatch does not allow DMFlag 4 (Weapons stay) to be changed at command line.
Edit 11/23/2019: release 2.3 - Massive code cleanup.
Crashes introduced by new IWAD hash routine have been fixed.
Edit 11/22/2019: release 2.2 - Searches your directory for IWADs by hash, and shows their version numbers.
Will no longer let you launch with an IWAD you do not have.
Banner now says GZCMD rather than GZDOOM.
Edit 11/21/2019: release 2.1 - Many bug and crash fixes, string definition corrections.
Last edited by cribolouf on Fri Jan 28, 2022 5:56 pm, edited 6 times in total.
User avatar
youda008
Posts: 50
Joined: Wed May 01, 2019 8:15 am

Re: gzcmd - GZDoom Command Line Helper (3.1a release 11/30/2

Post by youda008 »

Hm, interesting project for minimalists and DOS enthusiasts. But i think i'll prefer graphical tools :)
User avatar
Enjay
 
 
Posts: 26540
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: gzcmd - GZDoom Command Line Helper (3.1a release 11/30/2

Post by Enjay »

This is cool and all (I love me some cunning bat file stuff) but I have to admit the logic of "I don't like using a program between me and the GZDoom command line, so here's a program between me and the GZDoom command line" bemuses me.

I mean, a bat file that steps you through the process isn't really any different to a GUI that does the same is it?
cribolouf
Posts: 4
Joined: Tue Nov 19, 2019 12:02 am

Re: gzcmd - GZDoom Command Line Helper (3.1a release 11/30/2

Post by cribolouf »

Enjay wrote:This is cool and all (I love me some cunning bat file stuff) but I have to admit the logic of "I don't like using a program between me and the GZDoom command line, so here's a program between me and the GZDoom command line" bemuses me.

I mean, a bat file that steps you through the process isn't really any different to a GUI that does the same is it?
I guess in honesty it's more of an aesthetic choice. Doom for me was always a DOS game, and as such, I'm more comfortable in the DOS atmosphere while working with it. I tried a number of GUI interfaces, and they seemed to always just be either bloated, too smart for their own good, or didn't include the features I most wanted. I created this specifically because some friends and I were playing multiplayer, and all the multiplayer GUIs seemed to be chock full of options we didn't want, and the command line was getting hellish to keep typing over and over every time we wanted to change the server settings. Thanks for checking it out though. I intend to pick it up soon again to start work on some new features, but for now I'm content that it's stable.
User avatar
CBM
Posts: 373
Joined: Wed Oct 09, 2019 3:39 am
Graphics Processor: nVidia with Vulkan support
Location: The Shores of Hell

Re: gzcmd - GZDoom Command Line Helper (3.1a release 11/30/2

Post by CBM »

Enjay wrote:This is cool and all (I love me some cunning bat file stuff) but I have to admit the logic of "I don't like using a program between me and the GZDoom command line, so here's a program between me and the GZDoom command line" bemuses me.

I mean, a bat file that steps you through the process isn't really any different to a GUI that does the same is it?
It can be a matter of how intrusive the tool feels

A batch file is a lot less intrusive and it is also much more likely to terminate itself before gzdoom is launched.... depending on how the bat file is made

A GUI is big, bulky and inflexible

most of the gzdoom stuff I play is launched by bat files I create for the purpose
cribolouf
Posts: 4
Joined: Tue Nov 19, 2019 12:02 am

Re: gzcmd - GZDoom Command Line Helper (3.1a release 11/30/2

Post by cribolouf »

CBM wrote:
Enjay wrote:This is cool and all (I love me some cunning bat file stuff) but I have to admit the logic of "I don't like using a program between me and the GZDoom command line, so here's a program between me and the GZDoom command line" bemuses me.

I mean, a bat file that steps you through the process isn't really any different to a GUI that does the same is it?
It can be a matter of how intrusive the tool feels

A batch file is a lot less intrusive and it is also much more likely to terminate itself before gzdoom is launched.... depending on how the bat file is made

A GUI is big, bulky and inflexible

most of the gzdoom stuff I play is launched by bat files I create for the purpose
This is sorta exactly why I did it. Basically I started by creating command line selection menus that I could insert commands into and it would parse them into a .bat...and those menus just got more and more elaborate and smarter until I ended up with this, and to be honest...it just works...it's smart, simple, and streamlined. There's a few other things I want to do like have it save player preferences, like name, preferred hexen class, preferred difficulty, preferred player color per game, etc. I figure I can store them the same way I cache IWADs, but it would require a little more restructuring and splitting of the environment variables in order to accomplish that.
i2van
Posts: 21
Joined: Thu Sep 10, 2020 2:48 am
Graphics Processor: Intel with Vulkan/Metal Support

Re: gzcmd - GZDoom Command Line Helper (3.3 release 10/25/20

Post by i2van »

Is it handwritten? That's quite a work! My personal record is ~800 batch lines total.

BTW, there is an another approach: Command-line GZDoom Windows batch script generator
cribolouf
Posts: 4
Joined: Tue Nov 19, 2019 12:02 am

Re: gzcmd - GZDoom Command Line Helper (3.3 release 10/25/20

Post by cribolouf »

i2van wrote:Is it handwritten? That's quite a work! My personal record is ~800 batch lines total.

BTW, there is an another approach: Command-line GZDoom Windows batch script generator
Yup, it's all hand-coded. As I said, it started similarly to that, basically outputting a command line based on options from prompts, but it grew and grew until it became a fairly decent front end.

Return to “Launchers”