gsproremote/SETUP.md

6.8 KiB

GSPro Remote - Setup & Run Instructions

🚀 Quick Setup Guide

Follow these steps to get GSPro Remote running on your network and accessible from your phone/tablet.

Prerequisites

  1. Windows PC with GSPro installed
  2. Python 3.11+ installed (Download Python)
  3. Node.js 20+ installed (Download Node.js)
  4. Git (optional, for cloning the repository)

Step 1: Initial Setup

  1. Open PowerShell as Administrator
  2. Navigate to the project directory:
    cd "path\to\GSPro Remote"
    
  3. Run the development script:
    .\scripts\dev.ps1
    

This script will:

  • Check all prerequisites
  • Install Python dependencies
  • Install Node.js dependencies
  • Start both backend and frontend servers
  • Open browser windows with the application

Option B: Manual Setup

Backend Setup:

cd backend
python -m venv .venv
.venv\Scripts\activate
pip install -e .

Frontend Setup:

cd frontend
npm install

Step 2: Running the Application

Start Backend Server:

cd backend
.venv\Scripts\activate
python -m uvicorn app.main:app --reload --host 0.0.0.0 --port 5005

The backend will be available at:

  • API: http://localhost:5005
  • API Docs: http://localhost:5005/api/docs

Start Frontend Server:

cd frontend
npm run dev -- --host

The frontend will be available at:

  • Local: http://localhost:5173
  • Network: http://[YOUR-IP]:5173

Step 3: Access from Your Phone/Tablet

Find Your PC's IP Address

  1. Open Command Prompt or PowerShell
  2. Run: ipconfig
  3. Look for your IPv4 Address (e.g., 192.168.1.100)

Connect from Mobile Device

  1. Ensure your phone/tablet is on the same WiFi network as your PC

  2. Open a web browser on your mobile device

  3. Navigate to one of these URLs:

    • http://[YOUR-PC-IP]:5173 (e.g., http://192.168.1.100:5173)
    • http://gsproapp.local:5005/ui (if mDNS is working)

Install as Mobile App (PWA)

On iPhone/iPad:

  1. Open Safari (must be Safari)
  2. Navigate to the app URL
  3. Tap the Share button
  4. Scroll down and tap "Add to Home Screen"
  5. Name it "GSPro Remote" and tap Add

On Android:

  1. Open Chrome
  2. Navigate to the app URL
  3. Tap the menu (3 dots)
  4. Tap "Add to Home screen" or "Install app"
  5. Follow the prompts

Step 4: Configure Windows Firewall

If you can't connect from your mobile device, you may need to allow the app through Windows Firewall:

  1. Open Windows Defender Firewall
  2. Click "Allow an app or feature through Windows Defender Firewall"
  3. Click "Change settings" then "Allow another app..."
  4. Browse and add:
    • Python.exe (from your Python installation)
    • Node.exe (from your Node.js installation)
  5. Check both Private and Public networks
  6. Click OK

Alternative: Create Firewall Rules via PowerShell (Admin)

# Allow backend port
New-NetFirewallRule -DisplayName "GSPro Remote Backend" -Direction Inbound -Protocol TCP -LocalPort 5005 -Action Allow

# Allow frontend port
New-NetFirewallRule -DisplayName "GSPro Remote Frontend" -Direction Inbound -Protocol TCP -LocalPort 5173 -Action Allow

Step 5: Start Using GSPro Remote

  1. Start GSPro on your PC
  2. Open GSPro Remote on your mobile device
  3. The app should show "Connected" status
  4. You can now control GSPro from your mobile device!

🎮 Using the App

Main Controls:

  • Aim Pad: Hold arrows to adjust aim continuously
  • Center Button: Press to reset aim
  • Club Selection: Tap up/down to change clubs
  • Mulligan: Toggle mulligan mode
  • Tee Box: Move left/right on the tee
  • Map: Start streaming to see live mini-map
  • Shot Options: Select different shot types
  • Quick Actions (+ button): Access additional controls

Gestures:

  • Hold directional buttons for continuous movement
  • Tap for single adjustments
  • Expand Map: Tap expand button for fullscreen map

🔧 Troubleshooting

Can't connect from phone

  • Check both devices are on the same WiFi network
  • Check Windows Firewall settings
  • Try using IP address instead of hostname
  • Disable VPN if active
  • Make sure backend shows "Server running on 0.0.0.0:5005"

GSPro not responding to commands

  • Ensure GSPro is running and focused
  • Check GSPro window title matches config (default: "GSPro")
  • Try running backend as Administrator
  • Check backend console for errors

Map streaming not working

  • Click "Start Streaming" button in map panel
  • Check backend console for WebSocket connection
  • Verify GSPro is on the main game screen
  • Adjust map region in settings if needed

Poor performance on mobile

  • Reduce stream quality in settings
  • Lower FPS to 15-20
  • Use 5GHz WiFi if available
  • Move closer to WiFi router

📱 Mobile-Specific Tips

For Best Experience:

  1. Lock screen orientation to prevent rotation while playing
  2. Enable "Add to Home Screen" for full-screen experience
  3. Disable browser gestures if they interfere
  4. Use landscape mode on tablets for optimal layout
  5. Keep screen awake during gameplay

Battery Optimization:

  • Lower stream quality to "Low" or "Medium"
  • Reduce FPS to 15-20
  • Disable haptic feedback if not needed
  • Dim screen brightness when possible

🔒 Security Notes

  • The app only works on your local network
  • No data is sent to external servers
  • All communication is between your PC and mobile device
  • Consider using a dedicated WiFi network for gaming

🆘 Getting Help

Check Status:

  1. Backend health: http://localhost:5005/api/system/health
  2. API docs: http://localhost:5005/api/docs
  3. System info: http://localhost:5005/api/system/info
  4. Diagnostics: http://localhost:5005/api/system/diagnostics

View Logs:

  • Backend logs appear in the terminal where you started the server
  • Frontend logs appear in the browser console (F12)

Common Commands:

# Check if ports are in use
netstat -an | findstr :5005
netstat -an | findstr :5173

# Check Python version
python --version

# Check Node version
node --version

# Check network interfaces
ipconfig /all

# Test backend directly
curl http://localhost:5005/api/system/health

🎯 Production Deployment

For permanent installation:

  1. Build the frontend:

    cd frontend
    npm run build
    
  2. Configure backend to serve UI:

    • Frontend will be built to backend/ui
    • Access complete app at http://gsproapp.local:5005
  3. Create Windows Service (optional):

    • Use NSSM or similar to run backend as service
    • Auto-starts with Windows
    • Runs in background
  4. Configure auto-start:

    • Add to Windows startup folder
    • Or use Task Scheduler

Enjoy controlling GSPro from anywhere in your simulator room! 🏌️‍♂️