8.3 KiB
8.3 KiB
EU-Utility Setup Instructions
Complete setup guide for EU-Utility.
Table of Contents
- Prerequisites
- Windows Setup
- Linux Setup
- Development Setup
- Configuration
- Verification
- Troubleshooting
Prerequisites
Required
- Python 3.11 or higher
- pip (Python package manager)
- Git (for cloning repository)
Optional (for full functionality)
- OCR Engine - EasyOCR, Tesseract, or PaddleOCR
- Visual C++ Redistributables (Windows)
Windows Setup
Step 1: Install Python
- Download Python 3.11+ from https://python.org/downloads
- Run installer
- Important: Check "Add Python to PATH"
- Click "Install Now"
Verify installation:
python --version
# Should show Python 3.11.x or higher
Step 2: Install Git
- Download from https://git-scm.com/download/win
- Run installer with default settings
- Verify:
git --version
Step 3: Clone Repository
cd %USERPROFILE%\Documents
git clone https://github.com/ImpulsiveFPS/EU-Utility.git
cd EU-Utility
Step 4: Install Dependencies
pip install -r requirements.txt
Step 5: Install OCR (Optional)
pip install easyocr
Or for Tesseract:
pip install pytesseract
Then download and install Tesseract from: https://github.com/UB-Mannheim/tesseract/wiki
Step 6: Create Shortcuts (Optional)
Create a batch file start_eu.bat:
@echo off
cd /d %~dp0
python -m core.main
Or create a Windows shortcut:
- Right-click → New → Shortcut
- Target:
pythonw -m core.main - Start in:
C:\path\to\EU-Utility
Linux Setup
Step 1: Install Python
Ubuntu/Debian:
sudo apt update
sudo apt install python3.11 python3-pip python3.11-venv git
Fedora:
sudo dnf install python3.11 python3-pip git
Arch:
sudo pacman -S python python-pip git
Step 2: Clone Repository
cd ~
git clone https://github.com/ImpulsiveFPS/EU-Utility.git
cd EU-Utility
Step 3: Create Virtual Environment (Recommended)
python3.11 -m venv venv
source venv/bin/activate
Step 4: Install Dependencies
pip install -r requirements.txt
Step 5: Install System Dependencies
Ubuntu/Debian:
sudo apt install python3-pyqt6 libxcb-xinerama0 libxcb-cursor0
Fedora:
sudo dnf install python3-qt6 libxcb
Step 6: Install OCR (Optional)
pip install easyocr
Or for Tesseract:
sudo apt install tesseract-ocr
pip install pytesseract
Step 7: Create Desktop Entry (Optional)
Create ~/.local/share/applications/eu-utility.desktop:
[Desktop Entry]
Name=EU-Utility
Comment=Entropia Universe Utility
Exec=/home/username/EU-Utility/venv/bin/python -m core.main
Icon=/home/username/EU-Utility/assets/icon.png
Type=Application
Categories=Game;Utility;
Development Setup
Step 1: Clone with Development Tools
git clone https://github.com/ImpulsiveFPS/EU-Utility.git
cd EU-Utility
Step 2: Install Development Dependencies
pip install -r requirements.txt
pip install -r requirements-dev.txt
Or install all at once:
pip install -r requirements.txt -r requirements-dev.txt
Step 3: Install Pre-commit Hooks (Optional)
pip install pre-commit
pre-commit install
Step 4: Run Tests
# All tests
python run_tests.py --all
# Unit tests only
python run_tests.py --unit
# With coverage
python run_tests.py --unit --coverage
Step 5: Setup IDE
VS Code:
- Install Python extension
- Select Python interpreter
- Install recommended extensions from
.vscode/extensions.json
PyCharm:
- Open project folder
- Configure Python interpreter
- Set run configuration for
core/main.py
Configuration
Initial Configuration
EU-Utility creates default configs on first run. You can customize:
config/settings.json:
{
"hotkeys": {
"toggle": "ctrl+shift+u",
"hide": "ctrl+shift+h"
},
"theme": {
"mode": "dark",
"accent_color": "#ff8c42"
},
"overlay": {
"opacity": 0.95,
"always_on_top": true
}
}
config/plugins.json:
{
"enabled": [
"plugins.calculator.plugin.CalculatorPlugin",
"plugins.dashboard.plugin.DashboardPlugin"
],
"settings": {
"plugins.calculator.plugin.CalculatorPlugin": {
"precision": 2
}
}
}
Environment Variables
# Debug mode
export EU_DEBUG=1
# Custom config path
export EU_CONFIG_PATH=/path/to/config
# Disable GPU acceleration (if having issues)
export QT_QUICK_BACKEND=software
# HiDPI scaling
export QT_AUTO_SCREEN_SCALE_FACTOR=1
export QT_SCALE_FACTOR=1.5
Directory Structure
EU-Utility/
├── config/ # Configuration files
├── data/ # Plugin data and cache
├── logs/ # Log files
├── plugins/ # Built-in plugins
├── user_plugins/ # User-installed plugins
├── assets/ # Images, icons, sounds
├── core/ # Core application code
├── tests/ # Test suite
├── requirements.txt # Python dependencies
└── run_tests.py # Test runner
Verification
Step 1: Check Installation
# Run verification script
python -c "
import sys
print(f'Python: {sys.version}')
try:
from PyQt6.QtWidgets import QApplication
print('✓ PyQt6 installed')
except ImportError:
print('✗ PyQt6 missing')
try:
import requests
print('✓ requests installed')
except ImportError:
print('✗ requests missing')
try:
import PIL
print('✓ Pillow installed')
except ImportError:
print('✗ Pillow missing')
try:
import easyocr
print('✓ EasyOCR installed (optional)')
except ImportError:
print('⚠ EasyOCR not installed (optional)')
"
Step 2: Run Unit Tests
python run_tests.py --unit
Step 3: Start Application
python -m core.main
You should see:
- Floating icon appears
- System tray icon appears
- Double-click floating icon opens overlay
Step 4: Test Basic Functionality
- Test hotkeys: Press
Ctrl+Shift+Uto toggle overlay - Test plugins: Click on different plugins in sidebar
- Test settings: Open Settings and make changes
- Check logs:
tail -f logs/eu_utility.log
Troubleshooting
"Python is not recognized"
Windows:
- Reinstall Python and check "Add to PATH"
- Or use:
py -3.11instead ofpython
Linux:
# Use python3 explicitly
python3 --version
python3 -m pip install -r requirements.txt
python3 -m core.main
"No module named 'PyQt6'"
pip install PyQt6
# Or specific version
pip install PyQt6==6.6.1
"Cannot connect to X server" (Linux)
# If running over SSH
export DISPLAY=:0
# If using Wayland, try X11
QT_QPA_PLATFORM=xcb python -m core.main
Permission denied errors
# Fix permissions
chmod -R u+rw config data logs
# Or run with sudo (not recommended)
sudo chown -R $USER:$USER config data logs
Tests fail
# Check pytest installation
pip install pytest pytest-qt
# Run with verbose output
python run_tests.py --unit -v
# Check specific test
python -m pytest tests/unit/test_plugin_manager.py -v
Updating
Update EU-Utility
# Pull latest changes
git pull origin main
# Update dependencies
pip install -r requirements.txt --upgrade
# Run tests
python run_tests.py --unit
Update Python
- Download new Python version
- Install
- Update pip:
python -m pip install --upgrade pip - Reinstall dependencies:
pip install -r requirements.txt --force-reinstall
Uninstallation
Remove EU-Utility
# Deactivate virtual environment (if used)
deactivate
# Remove directory
cd ..
rm -rf EU-Utility
# Remove config (optional)
rm -rf ~/.config/EU-Utility # Linux
rm -rf %APPDATA%\EU-Utility # Windows
Next Steps
- Read User Guide:
docs/USER_GUIDE.md - Configure Hotkeys: Settings → Hotkeys
- Enable Plugins: Settings → Plugins
- Customize Dashboard: Drag and drop widgets
Need help? See Troubleshooting Guide