Skip to content

jameopotato/jimsproxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,204 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JimsProxy

A maintained fork of HermesProxy — a protocol translation proxy that lets WoW Classic 1.14.2 clients connect to vanilla 1.12.1 server. Primary target: Kronos.

The upstream HermesProxy project was archived in November 2024. JimsProxy is rebased onto Xian55's fork (April 2026) for 18 months of community fixes, then adds Kronos-specific translation fixes and diagnostic tooling on top.

License: GPL v3 (inherited from upstream — see LICENSE)

Quick Start (optional)

Download the JimsProxy Launcher from jimothy.cc/install. The launcher handles proxy updates, game launch, addon management, and configuration — no manual setup required.

What This Fork Adds

  • Kronos translation fixes — spell casting, realm switching, disconnects, combat log, auction house, and dozens of packet translation bugs fixed for Twinstar's MaNGOS fork
  • Structured JSONL logging — every packet, translation, and lifecycle event emitted to machine-readable logs for diagnosing issues
  • Spell system overhaul — cast-time spell queue, GCD sweep sync, RTT-adaptive fire offset, off-GCD macro support
  • Auto-reconnect — recovers from unplanned server disconnects without manual relogin
  • NPC and pet scale parity — creature sizes match vanilla 1.12 proportions
  • Bundled with JimsProxy Launcher — one-click setup, automatic updates, addon management
  • Active development — more fixes and features coming

See CHANGES.md for the full changelog.

Supported Versions

Modern Client (what you play with)

Version Expansion Build Range
1.14.0 Classic Era 39802 - 40618
1.14.1 Classic Era 40487 - 42032
1.14.2 Classic Era 41858 - 42597

Legacy Server (what emulators run)

Version Expansion Build Server Software
1.12.1 Vanilla 5875 CMaNGOS, VMaNGOS, etc.
1.12.2 Vanilla 6005 CMaNGOS, VMaNGOS, etc.
1.12.3 Vanilla 6141 CMaNGOS, VMaNGOS, etc.

Configuration

The proxy reads HermesProxy.config (XML format) from the working directory. The JimsProxy Launcher manages this automatically.

For advanced use, CLI arguments override config values:

JimsProxy --config MyServer.config
JimsProxy --set ServerAddress=logon.example.com --set ServerPort=3724
JimsProxy --no-version-check

Building from Source

Requires .NET 10 SDK (winget install --id Microsoft.DotNet.SDK.10).

Note: The project directory is still named HermesProxy/ for upstream compatibility. The output binary is JimsProxy.exe.

# Clone
git clone https://github.com/jameopotato/jimsproxy.git
cd jimsproxy

# Build
dotnet build HermesProxy

# Run tests (320 tests)
dotnet test

# Publish (self-contained single-file exe + CSV data)
dotnet publish HermesProxy \
  --configuration Release \
  --use-current-runtime \
  -p:UsePublishBuildSettings=true \
  -o build/

Output: build/JimsProxy.exe + build/CSV/ + build/HermesProxy.config

To test locally, copy the build output to your game's Hermes/ directory:

cp build/JimsProxy.exe <game_dir>/Hermes/JimsProxy.exe
cp -r build/CSV/* <game_dir>/Hermes/CSV/

.NET 6 will not work — the target framework is net10.0 (set centrally in Directory.Packages.props).

Acknowledgements

About

Fork of HermesProxy with rich diagnostic logging for identifying translation bugs against Twinstar/Kronos servers

Resources

License

Stars

15 stars

Watchers

0 watching

Forks

Sponsor this project

 

Packages

 
 
 

Contributors