Jump to content

Recommended Posts

Posted

NoQuarter V1.3.1 Release 

 

I have been working on updating the NoQuarter mod to optimize it for use with modern ETLegacy, the main goal of this project was to merge some of the updated features of Legacy with the older outdated mod and a pretty good amount has been changed. First and foremost I am no professional so my apologies for any sloppiness or unfound bugs, with that out of the way let's get to what's new. The top of my list was to get the lua compatibility working and I believe I have gotten all that fully functional and very reliable compared to the previous versions it remains lua 5.1 for now but may update to 5.4 later I have also tried to include as much documentation as possible for lua with NQ as its always been rather vague and confusing (at least to me). Second is getting NQ fully compatible with legacy on the host and client side it is now stable in that aspect and supports both 32 and 64 bit host and client for full access to the capabilities of legacy and modern Omni-Bot, on the topic of the src code I've modernized the NQ src including a C-Make system for easier use modern systems. The smaller items, updates to widescreen compatibility were made to actually support modern aspect ratios and resolutions, addition of may of the ui updates in legacy modern intermission menu with map vote update text font and plenty of other small items (ref. readme file), finally in an effort to better document things I've included AI agent marker file so to hopefully minimize avoid playing 20 questions if using AI assistance for any development as well as a model file that can be used with a local LLM if so desired for troubleshooting and general questions about the src code and mod installation. I will continue to mess with this and make improvements so look for updates I'll be happy to help with any questions as best I can. 

 

NQ V1.3.1 Pre-Compiled Packaged Mod 

https://github.com/DL-LAM/NoQuarter-1.3.1-32-bit-and-64-bit-/releases/tag/NQ_v1.3.1

NQ V1.3.1 Source Code 

https://github.com/DL-LAM/NoQuarter-1.3.1-32-bit-and-64-bit-

  • Like 4
  • Thanks 1
  • Surprise 1
Posted

 

5 hours ago, Hawkeye52 said:

NoQuarter V1.3.1 Release 

 

I have been working on updating the NoQuarter mod to optimize it for use with modern ETLegacy, the main goal of this project was to merge some of the updated features of Legacy with the older outdated mod and a pretty good amount has been changed. First and foremost I am no professional so my apologies for any sloppiness or unfound bugs, with that out of the way let's get to what's new. The top of my list was to get the lua compatibility working and I believe I have gotten all that fully functional and very reliable compared to the previous versions it remains lua 5.1 for now but may update to 5.4 later I have also tried to include as much documentation as possible for lua with NQ as its always been rather vague and confusing (at least to me). Second is getting NQ fully compatible with legacy on the host and client side it is now stable in that aspect and supports both 32 and 64 bit host and client for full access to the capabilities of legacy and modern Omni-Bot, on the topic of the src code I've modernized the NQ src including a C-Make system for easier use modern systems. The smaller items, updates to widescreen compatibility were made to actually support modern aspect ratios and resolutions, addition of may of the ui updates in legacy modern intermission menu with map vote update text font and plenty of other small items (ref. readme file), finally in an effort to better document things I've included AI agent marker file so to hopefully minimize avoid playing 20 questions if using AI assistance for any development as well as a model file that can be used with a local LLM if so desired for troubleshooting and general questions about the src code and mod installation. I will continue to mess with this and make improvements so look for updates I'll be happy to help with any questions as best I can. 

 

NQ V1.3.1 Pre-Compiled Packaged Mod 

https://github.com/DL-LAM/NoQuarter-1.3.1-32-bit-and-64-bit-/releases/tag/NQ_v1.3.1

NQ V1.3.1 Source Code 

https://github.com/DL-LAM/NoQuarter-1.3.1-32-bit-and-64-bit-

I will definetly have a look at it.

 

So far i think i know NQ inside out.

 

 

 

Is there a way to contact you when bugs are found?

 

Or is there a discord server for bug report, development, etc?

 

Posted

I remember there were some unfinished skill levels in original NQ, IIRC Field Ops and Engineer got an empty space each, could it be possible to add an skill for those levels?

 

I was thinking about a "withstand" ability for the engineer, kinda like OG Zofia from Rainbow Six Siege, where you can revive yourself once per life, I remember this ability was in an ETNAM mod, where you could revive but as a tradeoff you cant sprint.

 

As for the Field Ops, what about an additional upgrade from the Field Ops level 3, that level doubles the time of artillery and plane airstrikes, so what if it triples now, so you get triple the time of artillery and airstrikes, I remember I have seen this in Bastardmod.

 

Anyways, thanks for your effort in improving NQ, best ET mod.

 

That shotgun for soldier as a secondary sounds really cool, will provide feedback whenever I try the release.

Posted

Thanks for the input I will take a look at the classes for engineer and field ops that would definitely be a fun addition to the mod, I had completely forgotten about the self revive ability in ETNam I haven't played through the classes ETNam in ages. I'll look into adding that with a cvar to enable and disable like the JP Insanity options of the original mod. While on the topic of the shotgun with the soldier class I may have forgot to add into the readme I also left in the johnson gun that a previous person added to v1.3.0 it's not finished and has some texture issues but replaces bar for allied covert ops with similar fire rate to fg42 and a scope it can be turned on with a cvar in the cfg file to replace the BAR or swapped to the FG42 as well, it defaults to the classic BAR for covert ops. 

 

I have also created a public discord page for support and development at https://discord.gg/CpDcCyH3k and I do have an email setup for the mod that I will check periodically and help as best I can with any issues, bugs and feed back can be sent or posted to either place the email address is nqv1.3.1help@gmail.com

  • Thanks 1
Posted

 9129 files in pk3 files
       0 --------------------------------
       0 Loaded entities from maps/goldrush.bsp
       0 Sys_LoadDll(/home/maptesting/nq/qagame.mp.i386.so)... failed: /home/maptesting/nq/qagame.mp.i386.so: cannot open shared object file: No such file or directory
       0 Sys_LoadDll(/home/maptesting/nq/qagame.mp.i386.so)... failed: /home/maptesting/nq/qagame.mp.i386.so: cannot open shared object file: No such file or directory
       0 Sys_LoadDll(nq/qagame) failed to load library
       0 ----- Server Shutdown (Server fatal crashed: VM_Create on game failed
 

 

i can´t find the needed Linux qagame file in any of those archives... :(

 

Posted (edited)
30 minutes ago, Vice86 said:

 9129 files in pk3 files
       0 --------------------------------
       0 Loaded entities from maps/goldrush.bsp
       0 Sys_LoadDll(/home/maptesting/nq/qagame.mp.i386.so)... failed: /home/maptesting/nq/qagame.mp.i386.so: cannot open shared object file: No such file or directory
       0 Sys_LoadDll(/home/maptesting/nq/qagame.mp.i386.so)... failed: /home/maptesting/nq/qagame.mp.i386.so: cannot open shared object file: No such file or directory
       0 Sys_LoadDll(nq/qagame) failed to load library
       0 ----- Server Shutdown (Server fatal crashed: VM_Create on game failed
 

 

i can´t find the needed Linux qagame file in any of those archives... :(

 

I'm pushing a new release to github now with all the qagame files in the root mod folder I may have missed one in my packaging my apologies. I'm going to just post that single file on nq v1.3.1 discord my internet is horrible so the full github push will take afew minutes but that qagame should be on there under bug-fixes so my ancient internet isnt holding you up hopefully that takes care of it but let me know if you have any issues after that

Edited by Hawkeye52
  • Like 1
  • ET Member
Posted

0 means failure no need to double register one model as another thats going to cause a lot of issues I assume it was to copy ETLs plane instead of the one shipped with NQ? But your going to have weird crap overwriting one model as another if the map contains a file with that name better error handling is needed with the plane swap if its always why bother the fall back to old model?

image.png.09aaade20ae9b9c6f7ee1ad0b26404af.png

 

You also removed the wide screen part of ETL but call it still? You need to fix your menus for 16:9 why you hate wide screen Suspicious Kenan Thompson GIF

 

Why did you completely remove the bounds checks of CG_GetGameModel and the missile cam? Are you removing these entirely soon? and removed the CG_RestoreProfile guard? This seems like asking for crashes?

 

 

Also -1 for s.time do NQ scripts not expect this to be 0 the default? I support the call but may cause issues best to adapt the existing behavior to your ETL implementation so community knows what to expect but im not sure this breaks anything currently just a small note

 

Why rewrite of UI_DrawProportionalString / UI_DrawBannerString to TTF in cg_drawtools.c that nothing in cgame calls??

 

You also removed GAMESOUND_MAX >= MAX_SOUNDS guards completely allowing a simple crash to be done via console from ANY game client killing the server instantly??? wtf?

 

Even more remote crashes? you undid the fix?

 src/ui/ui_gameinfo.c you edited

The code puts a file name into a 128-byte buffer using strcat(), but file names inside PK3 files can be much longer than that.

A client could send a PK3 with a very long .arena file name. When the client loads it, the name can overflow the buffer and corrupt the stack boom dead server.

ET/ETL/NQ had already fixed this by using Q_strcat() with the buffer size why undo it?

The code was edited, but the unsafe strcat() was left in place. Then the "AGENT.md "rule was even added saying not to use strcpy() or strcat(), while these old uses were still there confusion...???

 

Confused Thinking GIF by MOODMAN

 

Posted
23 hours ago, Hawkeye52 said:

NoQuarter V1.3.1 Release 

 

I have been working on updating the NoQuarter mod to optimize it for use with modern ETLegacy, the main goal of this project was to merge some of the updated features of Legacy with the older outdated mod and a pretty good amount has been changed. First and foremost I am no professional so my apologies for any sloppiness or unfound bugs, with that out of the way let's get to what's new. The top of my list was to get the lua compatibility working and I believe I have gotten all that fully functional and very reliable compared to the previous versions it remains lua 5.1 for now but may update to 5.4 later I have also tried to include as much documentation as possible for lua with NQ as its always been rather vague and confusing (at least to me). Second is getting NQ fully compatible with legacy on the host and client side it is now stable in that aspect and supports both 32 and 64 bit host and client for full access to the capabilities of legacy and modern Omni-Bot, on the topic of the src code I've modernized the NQ src including a C-Make system for easier use modern systems. The smaller items, updates to widescreen compatibility were made to actually support modern aspect ratios and resolutions, addition of may of the ui updates in legacy modern intermission menu with map vote update text font and plenty of other small items (ref. readme file), finally in an effort to better document things I've included AI agent marker file so to hopefully minimize avoid playing 20 questions if using AI assistance for any development as well as a model file that can be used with a local LLM if so desired for troubleshooting and general questions about the src code and mod installation. I will continue to mess with this and make improvements so look for updates I'll be happy to help with any questions as best I can. 

 

NQ V1.3.1 Pre-Compiled Packaged Mod 

https://github.com/DL-LAM/NoQuarter-1.3.1-32-bit-and-64-bit-/releases/tag/NQ_v1.3.1

NQ V1.3.1 Source Code 

https://github.com/DL-LAM/NoQuarter-1.3.1-32-bit-and-64-bit-

*Disclaimer* 

I would like to reiterate that this is not to be considered a version completely stable for use with public servers there are still bugs and security concerns with the architecture of this update while it is stable for testing and local server use, any use currently on a serious public server is at the users own risk. Like I said I will continue to make changes as issues are found. 

 

I have made repairs and tested the linux build qagame issues and to the best of my knowledge they are working for those who need them and want to check things out in the current version. 

  • Like 1
Posted

*New Fixes*

 

Much appreciation to RNGesus for spotting the issues mentioned earlier as well as bring up the possibility of some unaddressed security concerns with my vibe coded nonsense I've ran everything through a strict compiler diagnostic scanner and found some additional mem allocation issues that slipped through before once again to the best of my knowledge they are all fixed as well as tightened up some loose security items I can type up a full change log tomorrow of what was fixed the src updates are on git now and the updated release is uploading now. 

 

*Items changed for ease of locating

1. Format calls across qa, cgame and ui now enforce explicit literal format specifiers so that should defend some against client chat and voice chat attacks

2. Session NQ-GUID parser was previously unconstrained clamped at 32 bytes to protect against buffer overflow 

 

A few other changes were made throughout as before if you see any issues let me know I appreciate all the help from those with more experience than myself if you see anything I blatantly broke or made worse with any of this please let me know. 

 

*This will remain in the not stable for public servers state for now any use outside the aforementioned ways in previous post is at the users risk*

  • Like 2
Posted

*Update*

*Security Fixes*

 

I have finally made it through src code and checked everything as best I could and also did have comments added to everything that was changed throughout the entire project thus far to make locating changes easier for anyone looking for those specific items they are tagged with //[NQ 1.3.1 - followed by change category]. 

 

Here's what’s been done and what to look for when reviewing:

 

  • Audited the Lua and Shrub stuff: Ran through all of g_lua and g_shrubbot to make sure there weren’t any hidden backdoors or weird admin access loopholes. Found zero backdoors, but did clean up a few weak points:
  • Shrub admin GUID loophole: Fixed a bug where players without a GUID (NO_GUID / unknown) could accidentally inherit shrub admin permissions if a server had a blank or default admin entry in their config.
  • Player name buffer overflow: Lua was copying up to 1024 bytes into pers.netname which is only 36 bytes long. That was overflowing and corrupting the player's GUID and IP right next to it, so clamped that down to size.
  • Lua memory leak: Fixed a heap leak in et.trap_FS_Read where reading files through Lua kept allocating memory without freeing it, which would eat up server RAM over time.
  • Entity & client boundary checks: Added slot bounds checks across all Lua engine calls so passing bad or out-of-range numbers won't crash the server.
  • * Hardened RCON and Ref security: Added brute-force protection to /rconAuth and /ref. After 3 failed attempts it now kicks and drops a 5-minute engine temp-ban on the IP. It also tracks attempts across reconnects so disconnecting doesn't reset the strike counter, and logs all attempts with client IP and name to console.*
  • Format string vulnerabilities: Went through all 120 source files and wiped out format string exploits across chat, announces, centerprints, and console logs. Zero warnings left on strict compiler security checks so players can't use %s or %n in names or chat to crash the server or clients.
  • Session data & XP save fixes: Fixed the string literal crash in G_ReadSessionData that was causing segfaults, stopped GUID buffer overflows when reading session data, and fixed incomplete struct zeroing in g_xpsave so garbage data doesn't end up in save files.
  • *Betting credits & server commands: Cleaned up g_cmds so players can't exploit betting credits with negative amounts or integer overflows, and locked down server commands like csdump and wrc against bad inputs.*
  • Multi-platform & 64-bit builds: Recompiled and tested everything cleanly across all 4 targets (Win64, Win32, Linux64, Linux32) with zero crashes on live dedicated servers.
  • Physical review markers: Placed // [NQ 1.3.1 - Security] comments everywhere changes were made in the source so anyone looking over the code can easily find and check what was changed without having to dig through every single file.

Items marked * are stuff I'm unsure if entirely necessary. 

  • The first is some additional security for ref rcon my not be needed or wanted but added it for right now anyhow
  • Second is the betting commands? I had never seen that until running across it in g_cmds but one of the may buried jp insanity modes but seems like it may be interesting to mess with in the future. Anyhow fix some possible weak points there   

I know we still haven't addressed the widescreen stuff mentioned yesterday yet, but getting these security and crash bugs knocked out first makes the most sense I will get that next.

 

 Once again thanks to those who pointed out issues, it's still mostly "vibe coded" but I did physically review every AI made change certainly not claiming I didn't miss anything in my review but I think it's much safer than it was. Any further review from the community is greatly appreciated, I will continue to test for bugs and look for areas of improvement.

 

*While its better than previous this will remain in the not stable for public servers state for now as I don't feel comfortable advising its safe and then causing issues with others legitimate public servers, any use outside the aforementioned ways in previous posts is at the users risk*

 

NQ V1.3.1 Pre-Compiled Packaged Mod 

https://github.com/DL-LAM/NoQuarter-1.3.1-32-bit-and-64-bit-/releases/tag/NQ_v1.3.1

NQ V1.3.1 Source Code 

https://github.com/DL-LAM/NoQuarter-1.3.1-32-bit-and-64-bit-

  • ET Member
Posted (edited)

Fireteam 13 unguarded could push buffer manually with requests to crash server if in bad memory region and the max lighting crash still exists but most seems fixed

Edited by RNGesus
Posted

I will take care of that now I'm about to push some more fixes to Git so I will take a look at those before I do that and update the change log with the rest of the items that were changed. I really appreciate all the help, another set of far more experienced eyes than mine really helps. 

  • Like 1
  • ET Member
Posted

Happy to help

  • Like 1
Posted

NoQuarter 1.3.1 b6 — Weekend Update

 

Hey everyone,

 

Quick update on what was fixed over the weekend for NoQuarter 1.3.1. We tracked down several crash bugs, fixed a few annoying visual glitches, and overhauled how the PK3s are packaged:

Unified b6 PK3s (nq_b_v1.3.1b6.pk3): Combined all 32-bit and 64-bit client binaries into one universal package so you won't get pure-server checksum or PK3 mismatch errors when joining.

Caduceus Revive Icon Fixed: The medic revival icon over downed teammates was upside-down now it renders right-side up.

Crash-Proofing & Server Hardening: Fixed NULL pointer crashes in vote and referee commands, bot navigation memory bounds, fireteam limits, and sv_fps division-by-zero glitches.

Widescreen & Menu Polish: Cleaned up in-game menu alignment and fixed background tint gaps on 16:9 and ultrawide screens.

Release Page Cleaned Up: Purged the old b5 files and uploaded fresh _b6 archives (NQ_1.3.1_Mod_b6.zip and NoQuarter-v1.3.1-Source_b6.zip).

For the complete breakdown of features, CVARs, and build steps, check out the full README on GitHub

 

Hopefully this has the majority of issues taken care of, but as always if anything else is spotted just let me know and I will get it taken care of. 

 

NQ V1.3.1 Pre-Compiled Packaged Mod 

https://github.com/DL-LAM/NoQuarter-1.3.1-32-bit-and-64-bit-/releases/tag/NQ_v1.3.1

NQ V1.3.1 Source Code 

https://github.com/DL-LAM/NoQuarter-1.3.1-32-bit-and-64-bit-

  • Like 1
  • ET Member
Posted (edited)

The main bug that jumped out at me in my short chance to review is the extra Cui_Widexoffset being added after the position is already scaled to pixels.

I’d remove that offset from both transforms and remove the fullscreen guards around it. The normal scaling already puts everything in the correct place, and this extra offset is what causes the UI to shift right, menus to go off-screen, and the loading screen to jump strangely.

A few other things I’d fix:

Remove the hardcoded 608 menu centering check.

Fix menu dragging so it updates the same position the draw code reads.

Restore the Linux build script to use a relative path instead of a developer-specific path. """ROOT_DIR = sys.argv[1] if len(sys.argv) > 1 else r"C:\Users\Dylan\Documents\...""" I dont know if you even intended to leak your name but be careful AI will leak stuff like API keys!

The IPv6 buffer changes don’t fix the real truncation issue. Fix the smaller upstream fields instead.

Don’t catch bot access violations and keep running. That can hide memory corruption never do this really its really bad code practice

Don’t return config string index 0 on overflow because 0 is valid.

Make the login lockout configurable and fix its timer across map changes.

Make sure the packaged plane models match the models the code actually loads.

Update the AI instruction files so they stop recommending the old archive layout or just remove them entirely

Edited by RNGesus
  • Thanks 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.