Railway

Deploy cool-vast

Deploy and Host cool-vast with Railway

Deploy cool-vast

Just deployed

Deploy and Host Lunr Bot Deobfuscator on Railway

Lunr Bot Deobfuscator is a Discord bot that fetches obfuscated Lua scripts from Roblox asset IDs or URLs and runs them through a multi-engine deobfuscation pipeline. It supports Luraph, MoonSec, IronBrew, Prometheus, and PSU using VM devirtualization (Java), static analysis (TypeScript/De4Lua), hex decoding, and loadstring chain resolution.

About Hosting Lunr Bot Deobfuscator

Hosting this bot requires setting up a Python 3.10 environment with Discord.py, aiohttp, and lupa. The bot orchestrates external tools: LuraphDevirtualizer.jar (VM devirtualization), unluac.jar (bytecode decompilation), and the De4Lua TypeScript framework. Railway handles always-on deployment, automatically rebuilds on GitHub pushes, and manages environment variables like DISCORD_TOKEN. The bot processes scripts in temporary files and cleans up automatically after each request. No database is required.

Common Use Cases

  • Lua Script Recovery - Restore readable source code from obfuscated Roblox scripts for analysis
  • Security Research - Study how different obfuscators (Luraph, MoonSec, IronBrew, Prometheus) transform Lua code
  • Game Cheat Analysis - Deobfuscate malicious scripts to understand and prevent cheating in games

Dependencies for Lunr Bot Deobfuscator Hosting

  • Python 3.10+ (runtime.txt specifies 3.10.12)
  • Java 8+ runtime (for LuraphDevirtualizer.jar and unluac.jar)
  • Node.js + npm (for De4Lua TypeScript framework to run npm run start)

Deployment Dependencies

Implementation Details

The bot uses a 5-stage pipeline:

# Stage 1: Hex decoding
script_content = decode_hex_string(script_content)

# Stage 2: Resolve loadstring chains recursively
script_content = await resolve_loadstring_chain(script_content)

# Stage 3: Detect obfuscator type
detection = detect_obfuscator(script_content)

# Stage 4: Route to appropriate engine
if detection['obfuscator'] == 'luraph':
    subprocess.run(['java', '-jar', 'LuraphDevirtualizer.jar', '-i', input_path, '-o', luac_path])
    subprocess.run(['java', '-jar', 'unluac.jar', luac_path])
else:
    subprocess.run(['npm', 'run', 'start', '--', input_path, output_path], cwd='De4Lua')

# Stage 5: Return deobfuscated code to Discord

Required Environment Variable (Railway Variables tab):

  • DISCORD_TOKEN = Your Discord bot token

Bot Commands:

  • .get - Fetch and follow loadstring chains
  • .deobf - Run full deobfuscation pipeline on last fetched script

Why Deploy Lunr Bot Deobfuscator on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Lunr Bot Deobfuscator on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


Template Content

More templates in this category

View Template
Rocky Linux
[Jun'26] Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta