Skip to content
This repository has been archived by the owner on Jul 15, 2023. It is now read-only.

Releases: CacoFFF/XC-UT99-Old

XC_Engine build 21

17 Feb 02:26
Compare
Choose a tag to compare

Requires XC_Core version 8 or higher

Linux:

  • Added SIGSEGV and SIGIOT handlers, crash logs display the call history almost like windows UT.
    ** To use these in a server running ServerCrashFix, you must disable SCF's bFixHandlers setting.

Replaced the collision grid with an improved version from CollisionGrid binary (.DLL/.SO)

  • Collision processing time reduced to 30%-50% of original hash (depends on map).
    ** Primitive actors currently broken.

Reworked pawn bandwidth hack in new relevancy:

  • Now also saves bandwidth from unnecessary rotation, velocity updates.
  • More aggressive on non-walking physics.
  • Less aggressive on stairs (fixes terrible simulation on clients).
  • Triggers an additional update when player/monster stops moving to correct standing position.

New relevancy:

  • They're less likely go through non-translucent surfaces.
    ** Less actors received by client.
  • Prevented possible stack overflow in maps with large BSP tree subdivisions
  • Fixed bad trace implementation in Linux

Script patcher:

  • Bugfix in extended PreLogin checks.
  • Improved minigun bot AI rating and usage.
  • Added SecureValidate exploit fix to ALL query actors.

ClientTravel, Open cannot be used to open local files anymore.

Automatic LZMA compressor ported to Linux, fixed a tiny memory leak.

  • Added log notification of compressor ending, plus info on amount of files compressed.

Changes in joining UT servers:

  • Clients no longer send options 'Game' and 'Mutator' in their login string.
  • GUID matching is done with all packages (not just cached).
    -- Attempts to download the new package in case of mismatch.
    -- Can ignore already installed packages in favor of cached ones.
    -- Jumps to next downloader if current one delivered a mismatching package.
  • More info displayed during file download (amount of files, data to install).
  • HTTP downloader(s) upgraded to XC_IpDrv version without hacks.

Adds XC_Core's log+malloc interceptors into the game during initialization.

  • Automatically disables SCF's malloc hook when these options are enabled.

XC_IpDrv:

  • HTTP downloader reworked for XC_Core v8 compatibility.
  • Reduced message spam during download.
  • More reliable download process.
  • Downloader connection timeout can be modified (default 5)
    -- XC_IpDrv.DownloadTimeout
  • Autogenerates config entry in your game INI after downloading a file.

UCC2 build 3

16 Feb 19:38
Compare
Choose a tag to compare

UCC2 rebuilt by Higor
(build 3, win32)

This is a small UCC modification that uses enhanced malloc and log interfaces.

XC_Core interfaces:

== FMallocThreadedProxy:
Uses spinlocks to prevent multiple threads from using the game's allocator.

== FOutputDeviceFileXC:
Improved log output device for launchers and UCC apps.
Safe to log lines of any char length.
Uses Windows \r\n newline characters regardless of platform.
Adding -logflush to the app's command line will force flush after every line.
The log file can be opened in read-only mode while the app is still running.
If two apps attempt to use the same filename, another file with a '_2' appended to it will be used.

You may rename this UCC.exe and run it without replacing the original UCC.
Source code included in package, taken from UT Public v432 headers.

XC_Launch

11 Feb 05:27
Compare
Choose a tag to compare

Unreal Tournament launcher readme

  • Render setup/recovery window removed.
  • MainLoop uses QueryPerformanceCounter instead of RDTSC for timer measuring, there shouldn't be any need to setup CPUspeed or anything.
  • Can be opened multiple times at the same time.
  • Uses enhanced malloc and log interfaces.
  • Log window internally caches messages to avoid opening/closing the log file when shown.
  • When the program is named XC_Launch.exe both LOG and INI default to "UnrealTournament"
  • Can specify fullscreen resolution by adding it to the command line (ex: ut.exe -1920x1080)

XC_Core interfaces:

== FMallocThreadedProxy:
Uses spinlocks to prevent multiple threads from using the game's allocator.
Implemented in XC_Launch without importing from XC_Core.dll

== FOutputDeviceFileXC:
Improved log output device for launchers and UCC apps.
Safe to log lines of any char length.
Uses Windows \r\n newline characters regardless of platform.
Adding -logflush to the app's command line will force flush after every line.
The log file can be opened in read-only mode while the app is still running.
If two apps attempt to use the same filename, another file with a '_2' appended to it will be used.

XC_Core

10 Feb 19:31
Compare
Choose a tag to compare

XC_Core version 8 update.

Linux build requires Core.so build that exports __Context::Env symbol.

Added/improved APIs for use in other native packages:

  • FThread
  • FMallocThreadedProxy
  • Atomics
  • FOutputDeviceFileXC
  • FOutputDeviceInterceptor
  • API_FunctionLoader

== FThread:
Simple multithreader abstraction, lets the coder easily run new threads
without resorting to platform-specific code.

== FMallocThreadedProxy:
Uses spinlocks to prevent multiple threads from using the game's allocator.
Allows launchers to implement the proxy without importing from XC_Core.dll

== FOutputDeviceFileXC:
Improved log output device for launchers and UCC apps.
Safe to log lines of any char length.
Uses Windows \r\n newline characters regardless of platform.
Adding -logflush to the app's command line will force flush after every line.
The log file can be opened in read-only mode while the app is still running.
If two apps attempt to use the same filename, another file with a '_2' appended to it will be used.

== FOutputDeviceInterceptor:
Remembers last 16 logs and in case of seeing a repeating pattern, it'll
simply indicate how many times the last X (1 to 16) lines repeat instead
of printing everything.
When the game enters into 'Critical' shutdown stage, a new timestamped
log file will be created with the Critical lines logged on it.
The interceptor also has a spinlock system to ensure thread safe operations.

XC_Core package downloader changes:

  • Uses asynchronous decompression.
  • More reliable file writing.

Added BrushToMesh native for use in Unreal Editor.

UCC2 build 2

08 Jan 00:18
Compare
Choose a tag to compare

UCC2 rebuilt by Higor
(build 2, win32)

This is a simple UCC.exe recompilation that comes with some improvements:

Changes from default UCC:

  • Ability to recognize multiple iterations of the same line or line patterns, groups them without writing each instance.
  • Overflow fix (Max Length = 1024 + header, ex: ScriptLog), line is clamped instead of crashing the server.
  • Thread safe GMalloc operations
  • Thread safe GLog operations
  • Possible GMalloc crashfixes with bad dynamic array handling > FArray::Realloc(0*X)

You may rename this UCC.exe and run it without replacing the original UCC.
Source code included in package, taken from UT Public v432 headers.

XC_Core

24 Jun 21:23
Compare
Choose a tag to compare

XC_Core version 7b update.

LZMA compression/decompression now dynamically loaded from LZMA library.
Changed LZMA dictionary size from 16mb to 4mb, memory usage for servers should be far lower during compression.
LZMACompress commandlet works in Linux.

*LZMA compression uses 1 core in Servers.
*LZMA compression uses 2 cores in win32 lzmacompress and 1 core in linux lzmacompress