A modern, fast, and lightweight launcher and server browser for Enemy Territory Fortress (ETF) and ETe.
Built with assistance from Google's Gemini Pro.
- Advanced Server Browser: Real-time polling for server rules, ping, and player counts with keyboard accessibility and focus traps.
- Unified Map & Mode Display: Automatically parses
.mapinfofiles from game archives to show clean, human-readable map names and game modes. - In-Memory Map Previews: Dynamically extracts and transcodes
.tga,.jpg, and.pnglevelshots directly from.pk3archives on the fly with automatic fallback support and 4:1 banner scaling. - Virtual File System (VFS) Compliance: Perfectly mimics id Tech 3 alphabetical/reverse-order loading rules so mod overrides and custom patches are always prioritized.
- Frontend: React, TypeScript, Modern CSS / Flexbox
- Backend: Rust, Tauri v2
- Parsing & Assets:
zip,image(with TGA support),regex,serde
Ensure you have the following installed on your system:
- Node.js (LTS recommended)
- Rust toolchain
- Tauri CLI prerequisites
- Clone the repository:
git clone [https://github.com/etfdevs/etf-launcher.git](https://github.com/etfdevs/etf-launcher.git)
cd etf-launcher- Install frontend dependencies:
npm install- Run the application in development mode:
npm run tauri devTo build an optimized production executable for your platform, run:
npm run tauri buildetf-launcher/
├── src/
│ ├── components/ # React UI components (Browser, Modals, Settings)
│ ├── styles/ # Global theme dictionaries
│ ├── utils/ # Tauri command wrappers & helper hooks
│ └── types/ # TypeScript interfaces
└── src-tauri/
├── src/
│ ├── main.rs # Tauri application entry & handler configuration
│ └── maps.rs # Rust mapindex parser & VFS archive management
└── Cargo.toml # Rust backend dependencies
This project is free software licensed under the GNU General Public License v2.0 or later (GPLv2+). See the LICENSE file for more details.