{"id":28164310,"url":"https://github.com/jrgp/soldat-pystats","last_synced_at":"2025-05-15T11:17:46.410Z","repository":{"id":2719246,"uuid":"47253982","full_name":"jrgp/soldat-pystats","owner":"jrgp","description":"Python/Falcon/Redis Soldat server kill stats web app","archived":false,"fork":false,"pushed_at":"2023-02-08T00:43:32.000Z","size":3767,"stargazers_count":7,"open_issues_count":3,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-03-22T23:06:23.270Z","etag":null,"topics":["bootswatch","falcon-framework","python","redis","soldat"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jrgp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2015-12-02T10:28:01.000Z","updated_at":"2023-07-05T15:19:31.721Z","dependencies_parsed_at":"2023-07-05T18:01:34.659Z","dependency_job_id":null,"html_url":"https://github.com/jrgp/soldat-pystats","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrgp%2Fsoldat-pystats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrgp%2Fsoldat-pystats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrgp%2Fsoldat-pystats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrgp%2Fsoldat-pystats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jrgp","download_url":"https://codeload.github.com/jrgp/soldat-pystats/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254328343,"owners_count":22052635,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootswatch","falcon-framework","python","redis","soldat"],"created_at":"2025-05-15T11:17:42.594Z","updated_at":"2025-05-15T11:17:46.399Z","avatar_url":"https://github.com/jrgp.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# soldat-pystats\n\nStatistics script which displays kill and player/country stats for multiple\n[Soldat](http://soldat.pl/) game servers. Powered by Python + [Redis](http://redis.io/) + [Falcon](https://falconframework.org/) and styled with [Bootswatch](http://bootswatch.com/).\n\n# Screenshots\n\n - [Home Page](http://jrgp.us/screenshots/soldat-pystats1.png)\n - [Players list](http://jrgp.us/screenshots/soldat-pystats2.png)\n - [Player profile](http://jrgp.us/screenshots/soldat-pystats3.png)\n - [Map Profile with polygon view](http://jrgp.us/screenshots/soldat-pystats_map1.png)\n\n# Features\n\n - Get logs from either local files, or ssh+sftp, or FTP on a remote game host\n - ip2country for all players. Country stats + flags next to each player\n - Automatic intelligent merging of player names sharing HWIDs\n - Supports multiple Soldat servers\n - Configurable data retention. Don't show kill stats more than X days old.\n - Ability to connect to Soldat server's admin port and provide current status\n - Player search\n - Pretty graphs\n - Display wireframe image of map polygons\n - Clean comfortable layout provided by Bootswatch\n - Uses Redis key value database instead of SQL so pages are fast even with\n   millions of recorded kills.\n - HTML or JSON output for data. To get JSON, `?json=yes` to any URL, or request json using the `Accept` header\n\n# Requirements\n\n- Python 2.7, with virtualenv/pip tools\n- Redis DB installed/running\n- Tested with soldat server version 2.8.1. You must have `EchoKills=1` set in `server.ini`\n\n# Instructions\n\nFirst, have an install of Redis database runnning. The following will do.\n\n    sudo apt-get install redis-server\n\nInstall python virtualenv tool as well as build dependencies\n\n    sudo apt-get install python-virtualenv python-dev libyaml-dev\n\nDownload latest version of pystats\n\n    git clone https://github.com/jrgp/soldat-pystats.git\n    cd soldat-pystats\n\nUpdate ip to country database (for player country flags)\n\n    ./update_ip2c.sh\n\nCreate \u0026 activate venv (run this before next commands):\n\n    virtualenv env\n    source env/bin/activate\n\nTo install to your venv but point to your code so you can edit and dev and run:\n\n    python setup.py develop\n\nCopy `config.yml.samp` to `config.yml` after editing it to fit your setup\n\nQuickly start website. (Bind to all NICs on port 5000). You can change the port at the bottom of `config.yml`\n\n    piestats web -c config.yml\n\nRun stats update\n\n    piestats update -c config.yml\n\nCrontab example for running stats update every hour. Change paths accordingly!\n\n    @hourly /home/pystats/soldat-pystats/env/bin/piestats update -c /home/pystats/soldat-pystats/config.yml\n\nSee the [webserver guide](WEBSERVER.md) if you want to remove the :5000 from the URLs.\n\n\n# Contact\n - Joe Gillotti - \u003cjoe@u13.net\u003e\n - [GitHub](https://github.com/jrgp/soldat-pystats)\n - License: MIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjrgp%2Fsoldat-pystats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjrgp%2Fsoldat-pystats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjrgp%2Fsoldat-pystats/lists"}