gzcmd - GZDoom Command Line Helper (3.3 release 10/25/2020)

Software projects like source ports (EDGE, Eternity, etc), launchers like ZDL, and other useful utilities belong in this forum.
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.

gzcmd - GZDoom Command Line Helper (3.3 release 10/25/2020)

Postby cribolouf » Tue Nov 19, 2019 12:43 am

!!! New Release! 3.3!

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/tzcPpLws

Or, if you'd prefer, download from here

https://drive.google.com/file/d/1NskimaFU5j8wSvvIC0fCc63K_Y2BSne8/view?usp=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 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 Sat Oct 24, 2020 11:45 pm, edited 3 times in total.
cribolouf
 
Joined: 19 Nov 2019

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

Postby youda008 » Sun Feb 16, 2020 6:06 am

Hm, interesting project for minimalists and DOS enthusiasts. But i think i'll prefer graphical tools :)
User avatar
youda008
 
Joined: 01 May 2019

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

Postby Enjay » Sun Feb 16, 2020 6:11 am

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?
User avatar
Enjay
Everyone is a moon, and has a dark side which he never shows to anybody. Twain
 
 
 
Joined: 15 Jul 2003
Location: Scotland

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

Postby cribolouf » Thu Mar 05, 2020 4:11 pm

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.
cribolouf
 
Joined: 19 Nov 2019

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

Postby CBM » Wed Oct 14, 2020 11:58 am

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
User avatar
CBM
Imp Slayer
 
Joined: 09 Oct 2019
Location: The Shores of Hell
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: Yes (Using Development/Testing Version)
Graphics Processor: nVidia with Vulkan support

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

Postby cribolouf » Fri Oct 16, 2020 7:59 pm

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.
cribolouf
 
Joined: 19 Nov 2019


Return to Software and Ports

Who is online

Users browsing this forum: No registered users and 0 guests