NewJK is our optional improved custom executable that replaces jamp.exe, which launches when you start JKA. It can improve FPS, has many crash fixes and stability improvements, and adds extra capabilities like raw mouse input. While NewJK is not required to use Newmod, we highly recommend it for potentially improving FPS and stability.

Newmod users should only use the vanilla executable or NewJK. Other projects (OpenJK, JAMME, etc.) are not recommended for use with Newmod.

Non-Newmod users are fully encouraged to use NewJK. Newmod and NewJK are independent projects; neither requires the other. The benefits of NewJK can be enjoyed on any client mod, not just Newmod.

Installation

NewJK can be downloaded from the download page.

Differences in NewJK

Select which executable you are currently using:


If you don't know which executable you are using, you are almost certainly using vanilla (the default executable that is installed with JKA).

Select which mod you are currently using:


Compared to your current setup, if you switched to NewJK, you would gain these features:

  • Potentially improved FPS.
  • Many crash fixes and stability improvements.
  • Raw mouse input added and enabled by default, although you can optionally set the new "Raw Mouse" cvar (in_raw) to 0 to disable it and use vanilla-style mouse input (allows for Windows mouse acceleration, etc).
  • The new "No Border" cvar (r_noBorder) can be enabled to run in borderless windowed mode.
  • The new "Center Window" cvar (r_centerWindow) can be enabled to automatically position windowed JKA in the center of your screen.
  • Fixed improper scaling when using Windows DPI settings greater than 100%.
  • Your gamma (r_gamma) setting now only affects the JKA window (i.e., not your desktop or other windows), although you can optionally set the new "Gamma Shaders" cvar (r_gammaShaders) to 0 to disable it.
  • The resolution cvar (r_mode) can be set to -2 for automatic screen resolution detection.
  • Maximum cvars raised from 1224 to 8192, preventing any remote chance of ever getting the MAX_CVARS crash.
  • Multiple JKA windows can be run simultaneously without crashing.
  • Significantly reduced input lag for all key presses and mouse movements.
  • Working Alt + Tab as well as minimize command.
  • Fixed lag when taking your first screenshot of the session.
  • screenshot command without argument uses timestamp for filename instead of base JKA numbering system.
  • screenshot command no longer requires quotation marks for custom filenames containing spaces.
  • Support for orange and grey text colors with ^8 and ^9.
  • Extended valid range of the "Time Nudge" cvar (cl_timeNudge) to allow values between -1000 and 1000. Negative values are automatically corrected to zero while spectating, following someone, or watching a demo.
  • Extended valid range of the "Max Packets" cvar (cl_maxPackets) to allow values between -20 and 1000.
  • Enter can now auto-complete commands from the main menus, instead of just from in-game.
  • Fixed duplicated effects bug (e.g. seeing seven repeater shots when you only clicked once).
  • Fixed some siege textures not producing proper footstep effects.
  • Fixed echo command not properly preserving colors between spaces.
  • Fixed crash when starting local server with widescreen resolution.
  • Fixed crash when looking at Ragnos NPC.
  • Fixed broken rendering with invalid primitives.
  • Fixed rendering of transparent shadowed text.
  • Added the new "Shift Toggle Console" cvar cl_shiftToggleConsole, which allows you to choose whether to require holding Shift to open and/or close the console. Depending on your setting, you can also use keys that are normally blocked (e.g. for binds or chat), such as ` on English keyboard, ' on Brazillian keyboard, etc.
  • Server list no longer considers colors and non-alphanumeric characters for sorting by name.
  • demo command no longer requires quotation marks for filenames containing spaces.
  • Fixed the "jittery text" bug that makes small text appear ugly.
  • Fixed not seeing disruptor shots or tripmine lasers if they originated behind you.
  • Malicious servers are prevented from forcing invalid/troll cvars on your client.
  • Removed ugly white box flash from some explosion effects.
  • Removed the large amount of base JKA console spam that was printed in between maps.
  • Doppler effect for moving sound sources (e.g. rockets).
  • You can now pause demo playback by pressing Esc, or by setting the "Time Scale" cvar (timescale) to 0.
  • The chat box is now limited to the actual maximum number of characters that servers will accept (149 digits). As you approach the maximum, it will display the number of remaining available digits.
  • You can now type percent signs and quotation marks into chat.
  • Fixed userinfo cvars not updating while the menus are open (e.g. typing model reelo with menu open).
  • CD check bypass allows playing non-Steam JKA without the disc inserted.
  • Enabled scrolling in console with mouse wheel.
  • Unrecognized console commands are no longer sent as chat messages.
  • Ugly "RECORDING XYZ.dm_26" text is removed.
  • Fixed connection hijack exploit on malicious servers.
  • Fixed pressing Esc during demo playback causing you to exit to the main menu.
  • Restored vanilla executable behavior of NOT violently assaulting your ears when you maximize JKA by simultaneously playing all the sounds you missed while minimized.
  • Restored vanilla executable behavior of pressing Enter to auto-complete commands, including in the main menus.
  • Restored vanilla executable behavior of color codes being hidden while typing.
  • The cfg that automatically gets read/written has been restored to the vanilla filename jampconfig.cfg.
  • Vanilla executable-style portablility is used by default. So instead of using /Documents/My Games/NewJK for game files (or whatever fs_homepath is set to), classic single-folder behavior is used. Combined with the jampconfig.cfg change, this allows you to easily swap executables without needing to mess with folders or cfgs. If you prefer using OpenJK's default fs_homepath behavior, you can still do that by adding +set fs_portable 0 as an argument when running NewJK.
  • JKA now defaults to running in full screen at your native resolution, just like any modern PC game (r_fullscreen 1 and r_mode -2).
  • Fixed duplicated effects bug (e.g. seeing seven repeater shots when you only clicked once).
  • Extended valid range of the "Time Nudge" cvar cl_timeNudge to allow values between -1000 and 1000. Negative values are automatically corrected to zero while spectating or following someone.
  • Allows loading of patched map files (e.g. maps/mp/mapname.bsp.patched) so as to use clientside map patches without causing autodownload to start.
  • screenshot command no longer requires quotation marks for custom filenames containing spaces.
  • Ugly "RECORDING XYZ.dm_26" text is removed by default.
  • Added the new "Shift Toggle Console" cvar cl_shiftToggleConsole, which allows you to choose whether to require holding Shift to open and/or close the console. Depending on your setting, you can also use keys that are normally blocked (e.g. for binds or chat), such as ` on English keyboard, ' on Brazillian keyboard, etc.
  • Server list no longer considers colors and non-alphanumeric characters for sorting by name.
  • Fixed pressing Esc during demo playback causing you to exit to the main menu.
  • demo command no longer requires quotation marks for filenames containing spaces.
  • Fixed not seeing disruptor shots or tripmine lasers if they originated behind you.
  • Removed ugly white box flash from some explosion effects.
  • Removed the large amount of base JKA console spam that was printed in between maps.
  • You can now pause demo playback by pressing Esc, or by setting the "Time Scale" cvar timescale to 0.
  • The chat box is now limited to the actual maximum number of characters that servers will accept (149 digits). As you approach the maximum, it will display the number of remaining available digits.
  • You can now type percent signs and quotation marks into chat.
  • Although raw mouse input is still enabled by default, you can now optionally disable it and get vanilla-style mouse input by setting the new "Raw Mouse" cvar in_raw to 0 (allows Windows mouse acceleration, etc).
  • Fixed userinfo cvars not updating while the menus are open (e.g. typing model reelo with menu open).

Source code

NewJK on GitHub