Coder Social home page Coder Social logo

skoocda / distributedreplays Goto Github PK

View Code? Open in Web Editor NEW

This project forked from saltierl/distributedreplays

0.0 2.0 0.0 13.59 MB

๐Ÿ‘จโ€๐Ÿ’ป Replay Collection and Analysis Server for Saltie DRL Bot

Home Page: https://discord.gg/aCHWD3E

License: Apache License 2.0

Python 32.87% Shell 0.06% JavaScript 45.87% CSS 3.68% HTML 17.37% Batchfile 0.16%

distributedreplays's Introduction

Saltie Replay Server

A replay collection server for Saltie the Deep Reinforcement Learning Bot

Modeled after the Leela Zero distributed Go engine.

Setup

  • Install Flask (flask).
  • Install Flask login (flask_login)
  • Install psycopg2 (psycopg2)
  • Install postgreSQL
  • If only for local development change the password to postgres
  • Run RLBotServer.py.

The server currently only allows uploads from a single IP address every 4.5 minutes, to prevent abuse. This is also in-line with the data generation speed of a typical Rocket League game (~5 minutes). Each replay has an IP address attached to it, so blame can be given.

##Windows

  • Install python/pip
  • Install postgreSQL
  • Install RabbitMQ
  • Run win_setup.bat
  • Run win_run.bat

Replays

Replays will be saved in /replays for later consumption. The server provides these files to clients.

Structure

The structure of the server is split into different files:

  • celery_tasks.py - this contains the tasks that run in the background (i.e. the replay parsing / pickling) using Celery workers
  • celeryconfig.py - configuration for the Celery worker
  • constants.py - things like dict of id -> car body name
  • functions.py - general helper functions for the server
  • middleware.py - classes that are used in the actual inner framework code of the server
  • objects.py - SQL ORM objects such as the Replay and Model objects
  • replays.py - contains all code pertaining to replay parsing (besides the Celery task)
  • saltie.py - contains all code pertaining to the Saltie data collection part
  • startup.py - is run to start the connection to the SQL server
  • stats.py - just some analysis on the upload patterns of the users

distributedreplays's People

Contributors

dtracers avatar jbyers44 avatar kcolton avatar sciguymjm avatar twobackfromtheend avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.