A parser that ingests generated Tribes 2 server stats from DarkTiger's stat script
Find a file
2023-03-01 19:10:06 -05:00
app chore: pin node version with volta 2023-03-01 19:09:09 -05:00
build chore: pin nest cli version 2023-03-01 19:09:39 -05:00
docs init 2020-02-06 16:26:32 -05:00
.env.example Add additional vars that were previously set in docker-compose 2021-04-28 19:47:41 -04:00
.envrc Refactor build steps 2020-03-07 11:01:21 -05:00
.gitignore config: ignore *.dump 2023-03-01 17:51:12 -05:00
docker-compose.override.yml Disable PGHero service 2021-04-30 22:02:11 -04:00
docker-compose.yml release: api v0.0.26 2023-03-01 19:10:06 -05:00
LICENSE.txt init 2020-02-06 16:26:32 -05:00
README.md Update examples 2020-03-08 11:16:12 -04:00
tsconfig.json init nest (wip) 2020-08-22 10:19:50 -04:00

Parser for DarkTiger's T2 Server Stats

This is very much still a work in progress. The motivation behind this is to get more familiar with Go. If you notice that there are better ways to do things, I'm all ears. :) Like all things, everything could be improved.

Run

- `docker-compose up` Runs the whole stack in unison
- `docker-compose up parser` Just run the app, useful if you're makin code changes
- `docker-compose up db` Just run the db

Notes

- When you first run the stack, Postgres will generate the DB and all the necessary tables by running `./build/postgres/docker-entrypoint-initdb.d/backup/t2_stats.sql`. Because the Go app can run before the DB has a chance to finish setting up, the parser will exit prematurely. Once the DB has been properly setup, running the app again will parse and insert the data without issue.
- A persistent volume for the DB data is set.

Features

- Parses generated stat files into json and insert them into a database (postgres)
- Keeps records in sync to prevent duped entries
- Creates/Updates player records to game records
- Supports multiple game types
- Scheduled FTP stat file retreval from a remote T2 game server

Features in que

- Update to v4 SQL driver
- Documentation 

(Feel free to open an issue if you have any suggestions/feature requests)