Desktop automation tools and a PPO-based AI for Arras.io gameplay. Cross-platform support for macOS, Linux, and Windows.
- Hotkey-driven automation (
arrastools.py,arrastools2.py): Control gameplay with keyboard shortcuts - Game state monitoring (
arrasbot.py): Automatic detection of disconnection, death, and bans with logging - PPO Reinforcement Learning AI (
arrasai.py): Train an AI agent to play Arras.io - Copypasta automation (
arrascopypasta.py): Send text automatically with timing control - Cross-platform: Works on macOS, Linux (Arch/Debian/Ubuntu), and Windows
✅ Primary development platform - Fully tested
Requirements:
- macOS 10.14 or later
- Accessibility + Screen Recording permissions (System Settings > Privacy & Security)
- Homebrew (recommended):
brew install tesseract
✅ Tested on Arch, Debian, Ubuntu
Requirements:
# Debian/Ubuntu
sudo apt install python3-tk tesseract-ocr
# Arch
sudo pacman -S tk tesseractNotes:
- Works best on X11; Wayland may have limitations with pynput
- Accessibility permissions may vary by desktop environment
- Use
SCALE=1for standard displays
✅ Tested on Windows 10/11
Requirements:
- Tesseract OCR (install separately, add to PATH)
- May require running Terminal as Administrator for input automation
- Use
SCALE=1for standard displays
- pynput may not work on all devices
- Consider using Termux with X11 server
git clone https://github.com/maple-underscore/arrastools.git
cd arrastools# Linux/macOS
python3 -m venv .venv
source .venv/bin/activate
# Windows
python -m venv .venv
.venv\Scripts\activatepip install pynput mss numpy ping3 pillow torch shapely pytesseractmacOS:
brew install tesseractLinux (Debian/Ubuntu):
sudo apt install python3-tk tesseract-ocrWindows:
- Download and install Tesseract OCR
- Add Tesseract to your system PATH
python arrastools.pyKey shortcuts (hold Ctrl):
Ctrl+1(press 1-3 times): Arena size automationCtrl+y: Controlled nuke (click two points)Alt+Arrow(Option+Arrowon macOS): 1-pixel mouse movementCtrl+9: NukeCtrl+m: Benchmark ballsEsc: Stop current activityCtrl+Esc: Emergency exit
python arrasbot.pyCLI commands:
status: Check bot statescreenshot: Take manual screenshotprobe: Sample pixel color at mouse positiondbgmon: List all monitorssetscale <1|2>: Set display scalingping: Check connection to arras.io
python arrasai.pyHotkeys while training:
Esc: Force stopp: Pause/resumer: Simulate death
Adjust SCALE in arrasbot.py based on your display:
- Retina/HiDPI displays (macOS):
SCALE = 2 - Standard displays (Windows/Linux):
SCALE = 1
Update GAME_REGION coordinates in arrasai.py to match your screen resolution:
GAME_REGION = Polygon([
(x1, y1), (x2, y2), ... # Your screen coordinates
])Use arrasbot.py with the probe command to find your coordinates.
Hard-coded positions in arrastools.py (e.g., conq_quickstart()) may need adjustment for different resolutions.
arrastools/
├── arrastools.py # Main automation script
├── arrastools2.py # Alternative automation script
├── arrasbot.py # Game state monitor
├── arrasai.py # PPO AI trainer
├── arrascopypasta.py # Text automation
├── copypastas/ # Text files for copypasta
├── arras_models/ # Saved AI models
├── logs/ # Bot logs
└── .github/
└── copilot-instructions.md # AI coding agent guidance
macOS:
- Go to System Settings > Privacy & Security
- Enable Accessibility for your Terminal/IDE
- Enable Screen Recording for your Terminal/IDE
Linux:
- Check if running on X11 (pynput works better than Wayland)
- Accessibility permissions vary by desktop environment
Windows:
- Run Terminal as Administrator if automation fails
- Ensure Tesseract is in your system PATH
- Use
arrasbot.pycommanddbgmonto list monitor properties - Use
probecommand to check pixel colors at cursor position - Adjust
SCALEvariable (2 for HiDPI, 1 for standard) - Re-map coordinates for your resolution
- Ensure Tesseract OCR is installed system-wide
- Use virtual environment to isolate Python packages
- Check pynput documentation for platform-specific issues
See .github/copilot-instructions.md for detailed development guidelines, conventions, and architecture notes.
CC BY-NC-SA 4.0 License - See LICENSE and NOTICE files for details. Non-commercial use only.
Contributions welcome! Please:
- Test on your target platform (macOS/Linux/Windows)
- Use
pathlibfor file paths (cross-platform) - Follow existing patterns (see copilot-instructions.md)
- Add platform detection for new scripts
This tool is for educational purposes. Use responsibly and in accordance with game terms of service.