Releases: startersclan/bf2stats
2.3.5
Changes
This is a backported release.
🖊️ Refactors
- Refactor (ci): Use
$GITHUB_ENV
,github.ref_name
, and bump actions to node 16 @leojonathanoh (#84)
🐛 Bug Fixes
- Fix (ci): Use proper
restore-keys
to restoredocker
cache @leojonathanoh (#102) - Fix (ci): Use matrix build job for faster builds @leojonathanoh (#100)
- Fix (ci): Fix interpolation in
master
andtags
steps ofbuild
jobs @leojonathanoh (#101) - Fix (ci): Fix caching for
docker buildx
@leojonathanoh (#99) - Fix (ASP): Log
php
errors tostderr
when running indocker
@leojonathanoh (#97) - Fix (ASP): Fix undefined variable
$nick
ingetunlocksinfo.aspx
@leojonathanoh (#98) - Fix (ASP): Fix
Installdb
module to autofill values usingconfig.php
to easily set up the DB @leojonathanoh (#96 - Refactor (ci): Use
$GITHUB_ENV
,github.ref_name
, and bump actions to node 16 @leojonathanoh (#84)
🧰 Maintenance
- Chore: Bump version to
2.3.5
@leojonathanoh (#105)
2.4.2
Changes
This release fixes a critical bug in the database schema (missing column on players
table) when setting up the database the first time. It also fixes a regression in the gameserver python
files introduced in 2.3.3
which will cause the BF2 server's stats to be broken if the ASP webserver does not return either a Content-Length
or Transfer-Encoding
HTTP header on the *.aspx
endpoints. If using 2.4.0
or 2.4.1
, it is advised to upgrade immediately. For new users, it is advised to use to forego 2.4.0
and 2.4.1
, and use 2.4.2
.
🐛 Bug Fixes
- Fix (python): Fix regression in
miniclient.http_get()
to read full response body ifContent-Length
orTransfer-Encoding
HTTP Headers are absent @leojonathanoh (#91) - Fix (development): Disable page caching in
bf2sclone
config @leojonathanoh (#89) - Fix (ASP): Fix missing
hidden
column inplayers
table in DB schema @leojonathanoh (#88)
📝 Documentation
- Fix (development): Add
bf2
server and Gamespy server indocker-compose.yml
to setup a full development stack simply bydocker-compose up
@leojonathanoh (#92) - Docs (readme): Add development docs @leojonathanoh (#87)
- Docs (examples): Add missing step to restart BF2 server after setting up the DB the first time @leojonathanoh (#93)
🧰 Maintenance
- Chore: Bump version to
2.4.2
@leojonathanoh (#94)
2.3.4
Changes
This is a backported release. It fixes a regression in the gameserver python
files introduced in 2.3.3
which will cause the BF2 server's stats to be broken if the ASP webserver does not return either a Content-Length
or Transfer-Encoding
HTTP header on the *.aspx
endpoints. It is advised to upgrade the gameserver python
files to 2.3.4
immediately.
🐛 Bug Fixes
- Fix (python): Fix regression in
miniclient.http_get()
to read full response body ifContent-Length
orTransfer-Encoding
HTTP Headers are absent @leojonathanoh (#91)
📝 Documentation
- Fix (development): Add
bf2
server and Gamespy server indocker-compose.yml
to setup a full development stack simply bydocker-compose up
@leojonathanoh (#92) - Docs (examples): Add missing step to restart BF2 server after setting up the DB the first time @leojonathanoh (#93)
🧰 Maintenance
- Chore: Bump version to
2.3.4
@leojonathanoh (#95)
2.4.1
Changes
🐛 Bug Fixes
- Fix (ASP): Do not select unlock in
selectunlock.aspx
when player has no available unlocks @leojonathanoh (#85)
🧰 Maintenance
- Chore: Bump version to
2.4.1
@leojonathanoh (#86)
2.4.0
Changes
This release adds the ability to hide players from BFHQ leaderboards and search via the ASP
admin panel, and from bf2sclone
rankings via RANKING_HIDE_BOTS
and RANKING_HIDE_HIDDEN_PLAYERS
in config.inc.php
. A hidden player's stats continue to be ranked but may only be viewed by themselves.
🚀 Features
- Feature: Add ability to hide player in
ASP
, and hide player or bots inbf2sclone
@leojonathanoh (#80) - Enhancement (bf2sclone): Add default
robots.txt
@leojonathanoh (#81)
🖊️ Refactors
- Refactor (ci): Use
$GITHUB_ENV
,github.ref_name
, and bump actions to node 16 @leojonathanoh (#84) - Refactor (bf2sclone): Rename config options to
RANKING_HIDE_BOTS
andRANKING_HIDE_HIDDEN_PLAYERS
@leojonathanoh (#83)
🧰 Maintenance
- Chore: Bump version to
v2.4.0
@leojonathanoh (#82)
2.3.3
Changes
🐛 Bug Fixes
- Fix (bf2sclone): Turn off access logs for static files @leojonathanoh (#75)
- Fix (bf2sclone): Fix missing ubar
North American Service Ribbon
image @leojonathanoh (#74) - Fix (bf2sclone): Fix PHP error and notices about array indices and strings with trailing newlines @leojonathanoh (#77)
- Fix (ASP): Turn off access logs for static files @leojonathanoh (#76)
📝 Documentation
- Docs: Add LICENSE @leojonathanoh (#79)
🧰 Maintenance
- Chore: Bump version to
v2.3.3
@leojonathanoh (#78)
2.3.2
Changes
🐛 Bug Fixes
- Fix (tests): Remove duplicate test URL in
docker-compose.test.yml
@leojonathanoh (#54) - Fix (ci): Use
/src
asWORKDIR
in dockerfiles forASP
andbf2sclone
@leojonathanoh (#70) - Fix (bf2sclone): Move hostname and site directory determination from
config.inc.php
toindex.php
@leojonathanoh (#69) - Fix (bf2sclone): Add
Cache-Control
header to not cache all pages @leojonathanoh (#67) - Fix (ASP): Use
curl
instead ofsocket
inImportlogs
andTestconfig
modules @leojonathanoh (#59) - Fix (ASP): Turn off chunked transfer encoding for
.aspx
inasp-nginx
nginx.conf
@leojonathanoh (#66) - Fix (ASP): Remove unneeded
$db_expected_ver
option fromconfig.php
config file and useCODE_VER
constant for the expected DB version @leojonathanoh (#65) - Fix (ASP): Fix undefined
$DB
variable inPlayer
causingcheckawards
module to fail @leojonathanoh (#55) - Fix (ASP): Fix empty flag fallback to use lowercase file name
xx.png
inasp-nginx
nginx.conf
@leojonathanoh (#63) - Fix (ASP): Fix broken favicon @leojonathanoh (#64)
- Fix (ASP): Fix
Serverinfo
module to correctly parse players forbf2
mod @leojonathanoh (#57) - Fix (ASP): Fix
Importplayer
module validation to not consider valid player info response as invalid @leojonathanoh (#56) - Fix (ASP): Fix
Importplayer
module to allow importing player from a custom Gamespy URL @leojonathanoh (#58) - Fix (ASP): Add error handling for
Importlogs
module @leojonathanoh (#60) - Fix (ASP): Add gameserver authentication in
getplayerid.aspx
@leojonathanoh (#61) - Fix (ASP): Add
Cache-Control
header to not cache all.aspx
@leojonathanoh (#68)
📝 Documentation
- Docs: Rearrange sections in examples @leojonathanoh (#72)
- Docs: Add
docs/bf2hub-bf2stats-example
@leojonathanoh (#71) - Docs: Add
asp.example.com
alias forasp-nginx
service in full br2 stack example @leojonathanoh (#62)
🧰 Maintenance
- Chore: Bump version to
2.3.2
@leojonathanoh (#73)
2.3.1
Changes
🐛 Bug Fixes
- Fix (python): Remove logging of HTTP headers in
miniclient
library @leojonathanoh (#51) - Fix (miniclient): Fix miniclient to close connection on exceptions @leojonathanoh (#52)
- Fix (bf2sclone): Add support for fallback army flag, country flag, and map image in
nginx.conf
@leojonathanoh (#47)
📝 Documentation
- Docs: Fix links and make full bf2 stack example more concise @leojonathanoh (#45)
- Docs: Enhance full bf2 stack example documentation (Part 2) @leojonathanoh (#49)
- Docs: Enhance full bf2 stack example documentation (Part 1) @leojonathanoh (#48)
- Docs: Add missing step in full bf2 stack example @leojonathanoh (#46)
- Docs (readme): Fix full bf2 stack example coredns config invalid
hosts
ttl @leojonathanoh (#44)
🧰 Maintenance
- Chore: Bump version to 2.3.1 @leojonathanoh (#53)
2.3.0
Changes
This release mainly fixes critical bugs in original 2.2.0
where the gameserver python files cannot send stats to an ASP
running an nginx server. It also fixes IP authentication and UI bugs in the ASP
. It is advised to upgrade to this version.
🚀 Features
- Enhancement (development): Add
.vscode/settings.json
for.aspx
@leojonathanoh (#33) - Enhancement (ci): Add integration test @leojonathanoh (#41)
🐛 Bug Fixes
- Fix (python): Fix miniclient.http_get() causing nginx to fail with
499
@leojonathanoh (#36) - Fix (python): Fix http library to support chunked responses @leojonathanoh (#37)
- Fix (development): Authorize all gameserver IP addresses in
ASP
config for development environment @leojonathanoh (#38) - Fix (ASP): Fix
Testconfig
module Database Backup Storage Path check @leojonathanoh (#32) - Fix (ASP): Fix
Testconfig
module 'Checking BF2Statistics Processing.' endless loop @leojonathanoh (#30) - Fix (ASP): Fix Auth::ClientIp() to correctly determine client IP @leojonathanoh (#39)
- Fix (ASP): Do not display php errors in ASP @leojonathanoh (#31)
🖊️ Refactors
- Refactor: Move
./Tools/Server Files/Linux/python
to./src/python
@leojonathanoh (#34)
📝 Documentation
- Docs: Enhance full bf2 stack example with improved instructions, custom gameserver configs, and a custom ASP config @leojonathanoh (#40)
- Docs (readme): Update project description @leojonathanoh (#43)
🧰 Maintenance
- Chore: Remove all
python
directories under./Tools
since they are all duplicates of./src/python
@leojonathanoh (#35) - Chore: Bump version to 2.3.0 @leojonathanoh (#42)
2.2.0
Changes
This version provides the absolute minimal fixes to ensure BF2Statistics 2.2.0
can run with PHP 7 and nginx. Most changes relate to creating a proper development framework and CI files for this project.
🚀 Features
- Feature: Add development and ci files @leojonathanoh (#3)
- Feature (development): Add my.cnf config file for
db
@leojonathanoh (#19) - Enhancement: Use a docker volume for
bf2sclone
./cache
directory @leojonathanoh (#8) - Enhancement: Harden nginx configuration for bf2sclone @leojonathanoh (#6)
- Enhancement: Harden ASP and bf2sclone
nginx.conf
for hidden files @leojonathanoh (#13)
🐛 Bug Fixes
- Fix: Rename
install.php
toinstall.php.disabled
since config.php is mounted into the container @leojonathanoh (#5) - Fix: Fix undefined variable in
getPageContents()
causingtestconfig
module to fail with an unknown error @leojonathanoh (#29) - Fix: Fix missing
mysqli
extension forbf2sclone-php
@leojonathanoh (#7) - Fix: Fix
init-container
provisioning of ASP snapshots volume indocker-compose.yml
@leojonathanoh (#25) - Fix: Fix
bf2sclone
config.inc.php
bind mount location in docker-compose.yml @leojonathanoh (#12) - Fix: Convert
mysql_
functions tomysqli_
@leojonathanoh (#4) - Fix: Add missing
restart: unless stopped
in full stack example @leojonathanoh (#27) - Fix (ci): Fix typo in
docker-compose.test.yml
@leojonathanoh (#15) - Fix (bf2sclone): Support https URLs @leojonathanoh (#9)
- Fix (bf2sclone): Fix my-leaderboard country flag filenames that should be uppercased @leojonathanoh (#10)
- Fix (bf2sclone): Fix init-container not setting write permissions for ASP config @leojonathanoh (#18)
- Fix (bf2sclone): Fix https URLs behind a reverse proxy @leojonathanoh (#16)
- Fix (ASP): Add
0.0.0.0
among authorized admin IPs inconfig.php
to never be locked out in dockerized setups where IP is dynamic @leojonathanoh (#20)
🖊️ Refactors
- Refactor: Update project namespace and docker image references @leojonathanoh (#14)
- Refactor: Rename "./Web Files" to ./src @leojonathanoh (#2)
- Refactor: Move "./Client Files" and "./Server Files" under ./Tools @leojonathanoh (#1)
👗 Style
- Style (ci): Prettify Dockerfiles @leojonathanoh (#24)
📝 Documentation
- Docs: Remove unneeded lines in
docs/full-bf2-stack-example/docker-compose.yml
@leojonathanoh (#23) - Docs: Add more details to the full bf2 stack example @leojonathanoh (#28)
- Docs: Add docs/full-bf2-stack-example @leojonathanoh (#17)
- Docs (readme): Update Development section @leojonathanoh (#26)
- Docs (readme): Fix broken link under Usage section @leojonathanoh (#22)
- Docs (Readme): Add usage section @leojonathanoh (#11)