{"id":35425407,"url":"https://github.com/hexengraf/hexedut2k4","last_synced_at":"2026-04-23T22:00:45.016Z","repository":{"id":311319041,"uuid":"1042911647","full_name":"hexengraf/HexedUT2k4","owner":"hexengraf","description":"Collection of mutators and packages for Unreal Tournament 2004","archived":false,"fork":false,"pushed_at":"2026-04-09T14:26:13.000Z","size":854,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-09T16:24:10.079Z","etag":null,"topics":["mods","mutators","quality-of-life","unrealtournament","ut2004","ut2k4"],"latest_commit_sha":null,"homepage":"","language":"UnrealScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hexengraf.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-22T19:35:15.000Z","updated_at":"2026-04-09T14:27:30.000Z","dependencies_parsed_at":"2025-08-24T07:38:19.096Z","dependency_job_id":"927bd63f-ceac-4055-a353-7b546e3ece02","html_url":"https://github.com/hexengraf/HexedUT2k4","commit_stats":null,"previous_names":["hexengraf/hexedut2k4"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/hexengraf/HexedUT2k4","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexengraf%2FHexedUT2k4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexengraf%2FHexedUT2k4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexengraf%2FHexedUT2k4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexengraf%2FHexedUT2k4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hexengraf","download_url":"https://codeload.github.com/hexengraf/HexedUT2k4/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexengraf%2FHexedUT2k4/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32200159,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-23T20:19:26.138Z","status":"ssl_error","status_checked_at":"2026-04-23T20:19:23.520Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mods","mutators","quality-of-life","unrealtournament","ut2004","ut2k4"],"created_at":"2026-01-02T18:16:14.965Z","updated_at":"2026-04-23T22:00:45.005Z","avatar_url":"https://github.com/hexengraf.png","language":"UnrealScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HexedUT2k4 - Hexed Unreal Tournament 2004\n\nThis is a collection of mutators and packages providing a variety of features and QoL improvements for Unreal Tournament 2004.\nThe following game packages are provided:\n* **HexedUT**: mutator providing hit sounds, damage numbers, colored death messages, skin highlights, and more.\n* **HexedVOTE**: mutator providing an enhanced map vote menu on top of xVoting.\n* **HexedNET**: (WS)UTComp's enhanced netcode (NewNet weapons) and new eye height algorithm.\n* **HexedSRC**: package containing classes and resources used by HexedUT, HexedVOTE and HexedNET.\n* **HexedPatches**: client-side package providing QoL improvements (only font scaling is still relevant for OldUnreal installations).\n\n## Installation\n\nDownload the [latest release](https://github.com/hexengraf/HexedUT2k4/releases/latest) and extract it inside the root directory of your UT2004 installation, merging the `System` directory when asked.\nFiles with the `.uz2` extension are safe to delete (you only need them if configuring your own download redirect server).\n\n\u003e [!NOTE]\n\u003e **PLAYERS**: when upgrading to a new version keep the previous version in you system folder to allow HexedUT/HexedVOTE to automatically copy your configuration to the new version.\n\u003e If you don't do this, your liked/disliked maps will not transfer over to the new version of HexedVOTE.\n\n\u003e [!NOTE]\n\u003e **SERVER ADMINS**: when upgrading to a new version add the **mutator packages** of the previous version to your `ServerPackages` to allow players that don't have it locally installed to automatically copy their configuration to the new version.\n\n## Configuration\n\nHexedUT, HexedVOTE and HexedNET can be enabled as mutators (`MutHexedUT`, `MutHexedVOTE` and `MutHexedNET`), while HexedVOTE also provides a ServerActor (`HxVTServerActor`) to load it.\n\nWhen one or more mutators are active, an in-game configuration menu is provided via the `mutate HexedMenu` command.\nThis menu gives access to all configurations (both user and server), so it is highly recommended to tweak your initial setup through it.\n\n\u003e [!TIP]\n\u003e Binding the menu to a key is strongly recommended. Execute `set input F5 mutate HexedMenu` in the console, replacing F5 with the desired key.\n\nSee additional configuration guidelines for each mutator in the sections below.\n\n## HexedUT\n\nHexedUT is a completely new implementation of some of the features commonly offered by mutators like UTComp.\nWhile it is possible to enable HexedUT and UTComp at the same time, you probably want to disable equivalent features from one of the two mutators.\nTo disable all equivalent features from HexedUT, use the following configuration:\n```ini\n[HexedUTv6.MutHexedUT]\nbAllowHitSounds=False\nbAllowDamageNumbers=False\nbColoredDeathMessages=False\nbAllowSkinHighlight=False\n```\n\nKeep in mind that disabling all of these features greatly reduces the utility of HexedUT.\nIf possible, consider replacing UTComp entirely by combining HexedUT and HexedNET.\n\nList of features:\n* Hit sounds: pings and pongs to know when you hit someone.\n* Damage numbers: pop-up numbers to know how much damage you've dealt.\n* Skin highlights: can't see your enemy? Paint him radioactive green.\n* Spawn protection timer: a timer to keep track of spawn protection duration.\n* Colored death messages: easily identify from which team is the killer and the victim.\n* Health leech: part of damage dealt restores health, similar to the Vampire mutator, but with more customization.\n* Movement modifiers: change movement speed, jump acceleration, number of jumps, etc.\n* Starting values modifiers: add/remove health, shield, number of Assault Rifle grenades, adrenaline, etc.\n* Disable specific combos and/or UDamage on maps.\n\nIn case there are more features you wish to see on HexedUT, open an issue so we can evaluate the viability of implementing them.\n\n### User INI options\n\nThe following sections are saved in `User.ini`:\n```ini\n[HexedUTv6.HxHitEffects]\n; Play hit sounds.\nbHitSounds=True\n; Name of the hit sound to use.\n; Default hit sounds can be specified without the package name,\n; while external hit sounds require the fully qualified name: \"PackedName.SoundName\".\nHitSoundName=HxHitSound1\n; Hit sound volume.\nHitSoundVolume=1.000000\n; Pitch mode for the hit sounds:\n;   HX_PITCH_Disabled - constant pitch regardless of damage.\n;   HX_PITCH_Low2High - low pitch for low damage, high pitch for high damage.\n;   HX_PITCH_High2Low - high pitch for low damage, low pitch for high damage.\nPitchMode=HX_PITCH_High2Low\n; Show damage numbers.\nbDamageNumbers=True\n; Display mode for the damage numbers:\n;   HX_DISPLAY_Static - shows the damage of a single hit.\n;   HX_DISPLAY_StaticTotal - shows accumulated damage of hits with less than a second a part.\n;   HX_DISPLAY_StaticDual - shows the information of the two modes above at the same time.\n;   HX_DISPLAY_Float - shows the damage of every hit, animating it to float towards the top of the screen.\n;   HX_DISPLAY_FloatDual - same as Float, but adds an accumulated damage number at the end of the animation path.\nDisplayMode=HX_DISPLAY_StaticDual\n; Font name to be used to render the damage numbers. Custom fonts are supported.\nDisplayFontName=UT2003Fonts.FontEurostile37\n; X position of the damage numbers on the screen (between 0.0 and 1.0).\nDisplayPosX=0.500000\n; Y position of the damage numbers on the screen (between 0.0 and 1.0).\nDisplayPosY=0.450000\n; All hit effects are interpolated according to the damage dealt by the hit.\n; A linear interpolation is done between the values of two of the points listed below.\n; ZeroDamage's Value is always 0, regardless of any changes made here.\n; The meaning of Pitch varies according to the PitchMode, so 0 could be either high or low pitch.\n; Scale refers to the scale of the damage number, and Color to the color of the damage number.\nZeroDamage=(Value=0,Pitch=0.000000,Scale=0.000000,Color=(B=255,G=255,R=255,A=255))\nLowDamage=(Value=30,Pitch=0.300000,Scale=0.300000,Color=(B=32,G=255,R=255,A=255))\nMediumDamage=(Value=70,Pitch=0.550000,Scale=0.550000,Color=(B=32,G=119,R=255,A=255))\nHighDamage=(Value=120,Pitch=0.750000,Scale=0.750000,Color=(B=32,G=32,R=255,A=255))\nExtremeDamage=(Value=180,Pitch=1.000000,Scale=1.000000,Color=(B=245,G=32,R=143,A=255))\n; List of fonts to display as selectable options in the configuration menu.\n; You can add all your custom fonts here.\nFontNames=UT2003Fonts.FontEurostile29\nFontNames=UT2003Fonts.FontEurostile37\nFontNames=UT2003Fonts.FontNeuzeit29\nFontNames=UT2003Fonts.FontNeuzeit37\nFontNames=2K4Fonts.Verdana28\nFontNames=2K4Fonts.Verdana30\nFontNames=2K4Fonts.Verdana32\nFontNames=2K4Fonts.Verdana34\n; List of custom hit sounds to display as selectable options in the configuration menu.\n; You can add all your custom hit sounds here.\n; Remember to use the \"PackageName.HitSoundName\" syntax.\nCustomHitSounds=\n\n[HexedUTv6.HxSkinHighlight]\n; DEFAULT = normal game effects.\n; Color of your team in team games.\nYourTeam=DEFAULT\n; Color of the enemy team in team games.\nEnemyTeam=DEFAULT\n; Color of other players in solo games.\n; Use RANDOM to automatically assign random colors for each player.\nSoloPlayer=DEFAULT\n; Color to flash when hit when armor is active. Also used as spawn protection indicator.\nShieldHit=DEFAULT\n; Color to flash when hit by link gun (and bio rifle, maybe others?).\nLinkHit=DEFAULT\n; Color to flash when hit by shock rifle.\nShockHit=DEFAULT\n; Color to flash when hit by lightning gun.\nLightningHit=DEFAULT\n; Remove skin highlight from dead bodies.\nbDisableOnDeadBodies=False\n; Force normal skins in team games (i.e. don't use the variant with team colors baked-in).\nbForceNormalSkins=True\n; While spectating, assume this team's perspective to decide which colors to use:\n;   0: red team.\n;   1: blue team.\nSpectatorTeam=0\n; List of colors. Set bRandom to false if you don't want a color to be used on RANDOM.\nColors=(Name=\"Red\",Color=(B=0,G=0,R=255,A=255),bRandom=True)\nColors=(Name=\"Blue\",Color=(B=255,G=0,R=0,A=255),bRandom=True)\nColors=(Name=\"Green\",Color=(B=0,G=255,R=0,A=255),bRandom=True)\nColors=(Name=\"Pink\",Color=(B=255,G=0,R=255,A=255),bRandom=True)\nColors=(Name=\"Teal\",Color=(B=255,G=255,R=0,A=255),bRandom=True)\nColors=(Name=\"Yellow\",Color=(B=0,G=255,R=255,A=255),bRandom=True)\nColors=(Name=\"Purple\",Color=(B=255,G=0,R=64,A=255),bRandom=False)\n\n[HexedUTv6.HxSpawnProtectionTimer]\n; Show spawn protection timer.\nbEnabled=True\n; Paint the spawn protection timer with the same color as the HUD.\nbUseHUDColor=True\n; Use pulsing digits for the counter.\nbPulsingDigits=False\n; X position of the spawn protection timer on the screen (between 0.0 and 1.0).\nPosX=0.950000\n; Y position of the spawn protection timer on the screen (between 0.0 and 1.0).\nPosY=0.640000\n; Color to use if bUseHUDColor=false.\nDefaultColor=(B=4,G=191,R=239,A=255)\n```\n\n### Server INI options\n\nThe following sections are saved in `UT2004.ini`:\n```ini\n[HexedUTv6.MutHexedUT]\n; Allow clients to enable/disable hit sound effects.\nbAllowHitSounds=True\n; Allow clients to enable/disable damage number effects.\nbAllowDamageNumbers=True\n; Allow clients to enable/disable skin highlights.\nbAllowSkinHighlight=True\n; Factor to multiply RGB values (between 0.0 and 1.0).\nSkinHighlightIntensity=0.300000\n; Allow clients to enable/disable the spawn protection timer.\nbAllowSpawnProtectionTimer=True\n; Use team colors in death messages (blue = killer and red = victim if no teams).\nbColoredDeathMessages=True\n```\n\n## HexedVOTE\n\nHexedVOTE does not replace xVoting, it builds on top of it, so you need to first enable and configure xVoting (UT2004's default voting system).\nEnable HexedVOTE and it will replace the map vote menu automatically, no additional configuration needed.\n\nList of features:\n* Enhanced map voting page:\n    * On-screen map previews: screenshots, number of players, author and description.\n    * Liked/disliked map classification.\n    * New column with the recommended minimum/maximum of players.\n    * Search bar for each column of the map list.\n    * New button to select a random map.\n    * Map filters: create custom filters to quickly sort through the map list.\n    * Several improvements to font size, line spacing, alignments, backgrounds and colors.\n    * Server-defined custom backgrounds to add flair.\n\n### User INI options\n\nMap filters are saved in a separate file called `HexedFilters.ini` with the following structure:\n```ini\n[FilterName HxMapFilter]\n; Pattern to filter maps by name.\nMapName=\n; Pattern to filter maps by their author name(s).\nAuthorName=\n; Pattern to filter maps by the number of players.\nNumPlayers=\n; Pattern to filter maps by the number of times played.\nTimesPlayed=\n; Filter maps by their source:\n;   HX_MAP_SOURCE_Any - no filter, any source is allowed.\n;   HX_MAP_SOURCE_Official - only official maps are selected.\n;   HX_MAP_SOURCE_Custom - only custom maps are selected.\nMapSource=HX_MAP_SOURCE_Any\n; Filter maps by their tag:\n;   HX_TAG_Any - no filter, any tag is allowed.\n;   HX_TAG_Like - only liked maps are selected.\n;   HX_TAG_None - only maps with no tag are selected.\n;   HX_TAG_Dislike - only disliked maps are selected.\nMapTag=HX_TAG_Any\n; How the explicit filter list should be used:\n;   HX_FILTER_MODE_Include - include the listed maps in the result.\n;   HX_FILTER_MODE_Exclude - exclude the listed maps from the result.\nFilterListMode=HX_FILTER_MODE_Include\n; Explicit filter list, each entry should contain a valid map name.\nFilterList=\n```\n\n### Server INI options\n\nThe following sections are saved in `UT2004.ini`:\n```ini\n[HexedVOTEv6.MutHexedVOTE]\n; Background for the votes list (upper list). Use ~16:3 images.\nVoteListCustomBG=\n; Background for the maps list (lower list). Use ~9:5 images.\nMapListCustomBG=\n; Background for the map preview banner. Use ~9:10 images.\nPreviewCustomBG=\n; Background for the chat box. Use ~22:7 images.\nChatBoxCustomBG=\n```\n\nEach custom background should contain the fully qualified `PackageName.TextureName` string of the texture to be used.\nIf the texture doesn't match the proportions of the background, it will be **centered and scaled** to fit.\nMake sure to include the package containing the custom backgrounds to your `ServerPackages` configuration.\n\n\u003e [!TIP]\n\u003e The textures are alpha-blended with the default background, so you can rely on transparency to create subtle logos/watermarks.\n\n## HexedNET\n\n[HexedNET](https://github.com/hexengraf/HexedNET) is a fork of [WSUTComp](https://github.com/zenakuten/WSUTComp) that extracts the enhanced netcode from the myriad of features inside UTComp.\nFor the sake of a streamlined building process, releases of HexedNET are bundled together with HexedUT here.\n\nList of features:\n* NewNet Weapons (a.k.a. enhanced netcode): ping compensation implementation.\n* New eye height algorithm: fixes where your aim position on uneven terrain (such as ramps).\n\n\u003e [!TIP]\n\u003e Compatibility with other mods should be somewhat improved, since `xPlayer` is no longer replaced.\n\u003e `xPawn` is still replaced to provide the EyeHeight algorithm, disable this feature server-side if you have issues with this replacement.\n\u003e Default weapons are replaced in order to provide the enhanced netcode.\n\n## HexedPatches\n\nTo enable HexedPatches, open `System/UT2004.ini` and replace the default value of `GUIController` with `HexedPatches.HxGUIController`:\n```ini\n; GUIController=GUI2K4.UT2K4GUIController\nGUIController=HexedPatches.HxGUIController\n```\n\n\u003e [!CAUTION]\n\u003e **DO NOT** change the `GUIController` if you plan to join servers running AntiTCC, otherwise you will most likely be **BANNED**.\n\nAll configuration can be changed through a new tab called \"HexedPatches\" in the settings.\n\nThe following QoL improvements are provided (any game version):\n* Better font scaling for higher resolutions (may cause some font cropping/overflow, since some background elements are not properly scaled).\n\nThe following QoL improvements are provided for the legacy 3369 version of the game:\n* Modern resolutions available in the settings menu.\n* Small cursor to compensate absurd scaling when using high resolutions.\n* Correct widescreen scaling for default HUDs.\n* Higher FOV limit in the settings menu.\n* Player models are no longer cropped in the settings menu (when using a widescreen resolution).\n* Persistent custom network speed (applied on every level change).\n* Master server selector (either 333network or OpenSpy).\n\n## Troubleshooting\n\nIf you find any bugs, feel free to [open an issue](https://github.com/hexengraf/HexedUT2k4/issues/new/choose).\n\n### Some characters have semi-transparent parts when skin highlight is enabled\n\nThis is an issue with the game. Maybe one day it will be [solved](https://github.com/OldUnreal/UT2004Patches/issues/182).\nThe best you can do is to avoid using such characters and/or force default models that don't have this issue.\n\n### My map vote menu is gone!\n\nYou've been using `HexedPatches` since a long time, I see. Open your `User.ini` and search for `MapVotingMenu`.\nMake sure **all** occurrences of this keyword have the following value:\n```ini\nMapVotingMenu=xVoting.MapVotingPage\n```\n\nWhen the enhanced map vote menu was part of `HexedPatches`, it was directly set to be the `MapVotingMenu`.\nWith the migration to HexedVOTE, this leftover configuration will unfortunately break your map vote menu and require this manual intervention.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhexengraf%2Fhexedut2k4","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhexengraf%2Fhexedut2k4","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhexengraf%2Fhexedut2k4/lists"}