Spaces:
Sleeping
Sleeping
| """ | |
| 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) | |