truckers-tool-linux

Trucker Tool Linux | TTL

[↗ Kunjungi Repository]
lang: TypeScript ★ 1 forks: 0 issues: 1 branch: main
cat README.md

🚛 Truckers Tool Linux

A web-based save editor for Euro Truck Simulator 2 and American Truck Simulator on Linux. Edit your profile data (money, XP, skills) directly from the browser — no Windows tools needed.

🇮🇩 Baca dalam Bahasa Indonesia (Read in Indonesian) 📖 Full Documentation (English) đŸ’Ŧ Join Telegram Group

recording_20260317_21-48-48.mp4

Platform Node Version License

✨ Features

  • 🎮 Game Selection — Support for ETS2 and ATS
  • 📂 Profile Scanner — Auto-detect profiles from native or Wine/Proton paths
  • 📤 Upload Support — Upload .sii or .zip files directly via browser (no local install required)
  • 🔓 Auto Decrypt — Decrypt SCS binary save files on-the-fly
  • đŸ›Ąī¸ Data Integrity — "Triple-Check" validation system ensuring SII file structure and headers remain valid before saving to prevent corruption.
  • âĒ Advanced Profile Restore — Powerful restore feature with manual save slot selector, detailed stats comparison (Diff), and granular (per-slot) or full profile recovery options.
  • 📊 Dashboard — View profile overview: level, XP, money, skills
  • ⚡ Quick Actions — Fast actions like Inject â‚Ŧ50k, Clear Debt, Add 10K XP
  • đŸ“Ĩ Download Edited File — Download the edited file to place it back into your save game folder
  • âœī¸ Profile Editor — Edit money, experience points, and skill levels
  • 🚚 Trailer Editor — View and repair all owned trailers (cargo damage & body wear)
  • đŸ—ēī¸ Map Discovery Editor — Unlock all visited cities on the map
  • 💾 Save Confirmation Modal — Review all pending changes before writing to save file
  • â†Šī¸ Undo History — Up to 20 levels of undo (Ctrl+Z)
  • 🔔 Save Success Notification — Toast confirmation after every save (Consistent UI)
  • 🐛 GitHub Issues Reporter — Report bugs directly from the app with auto-filled version info
  • 💾 Auto Backup — Creates backup before any changes
  • âš™ī¸ Configurable — All settings via settings.yml (port, paths, upload limits)
  • 🎨 Pixel-Perfect Stitch UI — Responsive Glassmorphism UI (Mobile & Desktop Full-width)
  • 🌐 Multilingual Support — Fully available in English and Indonesian

📋 Prerequisites

  • Git
  • Node.js v18+ (script can install it automatically via nvm)
  • PM2 (optional, for production/server deployment)
  • ETS2/ATS installed (native Linux, Wine, or Proton) — or simply upload your files

🚀 Quick Start

1. Download installer script

Choose the release channel you want to install:

Stable Release (Recommended)

curl -fsSL https://raw.githubusercontent.com/efzynx/truckers-tool-linux/main/ttl.sh -o ttl.sh
chmod +x ttl.sh

Beta Release

curl -fsSL https://raw.githubusercontent.com/efzynx/truckers-tool-linux/beta/ttl.sh -o ttl.sh
chmod +x ttl.sh

Alpha Release

curl -fsSL https://raw.githubusercontent.com/efzynx/truckers-tool-linux/alpha/ttl.sh -o ttl.sh
chmod +x ttl.sh

2. Install Node.js (if not already installed)

./ttl.sh node

3. Choose Installation Mode

You can choose to install the Desktop App (Standalone) or the Web App (Local Server).

For Desktop App (Recommended)

./ttl.sh -Id

Note: This will automatically detect your OS and install the correct Native Package (.deb, .rpm, .pacman) or .AppImage.

For Web App

# Install + setup + start all at once
./ttl.sh -IS

If you installed the Web App, open your browser at http://localhost:3214 🎉

âš™ī¸ Configuration (settings.yml)

All settings are stored in the settings.yml file. This file is not pushed to GitHub for security reasons.

app:
  name: "Truckers Tool Linux"
  port_frontend: 3214          # Frontend port (Next.js)
  port_backend: 8097           # Backend API port (Express)

đŸ–Ĩī¸ Production Deployment (PM2)

To run on a server/VPS:

npm run build
npm run pm2:start

📖 Script Commands

Command Description
./ttl.sh install Install app (interactive setup)
./ttl.sh -Id Install Desktop App (Native / AppImage)
./ttl.sh -Iw Install Web App (Local server)
./ttl.sh setup Generate settings.yml (interactive)
./ttl.sh start Run web app (PM2 if available, fallback npm start)
./ttl.sh stop Stop app (PM2)
./ttl.sh -IS Install + setup + start
./ttl.sh node Install Node.js via nvm
./ttl.sh update Update to the latest version

â–ļī¸ How to Use

Local Path Mode

  1. Welcome Screen → Click "Start Editing"
  2. Select Game → Choose ETS2 or ATS
  3. Enter Profile Path → Paste the path to your profiles folder
  4. Scan & Select Profile → Choose a profile
  5. Edit & Save → Modify data and hit the Save button (bottom-right).

File Upload Mode

  1. Welcome Screen → Select Game
  2. Upload File Tab → Choose .sii or .zip file
  3. Edit & Download → Modify stats and click "Download File".

đŸ—ī¸ Tech Stack

Layer Technology
Frontend Next.js 16 + React 19 + TypeScript
Styling Tailwind CSS v4
Backend Node.js Express (Private API)
Decryption @trucky/sii-decrypt-ts

📁 Project Structure

truckers-tool-linux/
├── server/                    # Backend API (Express)
│   ├── routes/
│   │   ├── profiles.ts        # Backup, Restore & Scan logic
│   │   └── save.ts            # SII Manipulation logic
│   └── utils/
│       └── parser.ts          # Line-Scanner & Integrity System
├── src/                       # Frontend app (Next.js)
│   ├── components/
│   │   ├── Dashboard.tsx      # Main Interface
│   │   ├── ProfileList.tsx    # Profile Selector with Toast
│   │   └── RestoreCompareModal.tsx # Advanced Restore UI
│   └── hooks/useApi.ts        # API Client
├── package.json
└── README.md

â¤ī¸ Support the Project

Trakteer Saweria

📝 License

GNU GPLv3 — feel free to use and modify.

<- cd ~/project/github