File size: 853 Bytes
41a9651
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
"""
FastAPI entry point for serving RaceEnvironment over HTTP/WebSocket.

Usage:
    uvicorn env.server.app:app --host 0.0.0.0 --port 8000

Or via OpenEnv CLI:
    openenv serve env.server.app:app
"""

import os
import sys

# Headless pygame — must come before any game/env import
os.environ.setdefault("SDL_VIDEODRIVER", "dummy")
os.environ.setdefault("SDL_AUDIODRIVER", "dummy")

from openenv.core.env_server import create_app

from env.environment import RaceEnvironment
from env.models import DriveAction, RaceObservation
from game.rl_splits import TRAIN, _ensure_pygame

# Initialise pygame in headless mode
_ensure_pygame()

# Build track 0 (simplest) as default for the remote server
track = TRAIN[0]
track.build()

env = RaceEnvironment(track, max_steps=3000, laps_target=1, use_image=True)
app = create_app(env, DriveAction, RaceObservation)