diff --git a/docker/test-backend.Dockerfile b/docker/test-backend.Dockerfile index d1137c13..2a179c59 100644 --- a/docker/test-backend.Dockerfile +++ b/docker/test-backend.Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.22-alpine +FROM golang:1.23-alpine RUN apk add make gcc g++ WORKDIR /build COPY go.mod go.sum ./ diff --git a/docs/docs/install/install.md b/docs/docs/install/install.md index f552955f..be24e31b 100644 --- a/docs/docs/install/install.md +++ b/docs/docs/install/install.md @@ -12,16 +12,21 @@ Gbans is lightweight and can handle a small to moderately sized community with a Special considerations need to be made when using extended functionality: -It's recommended, but not required, to use a dedicated server for installation. The application is fairly lightweight, but some features +It's recommended, but not required, to use a dedicated server for installation. The application is fairly lightweight, +but some features will take some computational power which can interrupt other processes. This includes things like downloading demos -over SSH/SCP and processing users stats. If you omit these features, it should be able to run alongside a game server fairly +over SSH/SCP and processing users stats. If you omit these features, it should be able to run alongside a game server +fairly well on a VPS. Ram usage is pretty negligible, but if you have a lot of servers and a long history, you may want to increase the ram allocated to postgres. -If you are hosting game servers and gbans on the same host, you will likely want to specify [GOMAXPROCS](https://pkg.go.dev/runtime#hdr-Environment_Variables) -when starting gbans so that you can set processor affinity/cpuset properly to ensure they are not fighting each other for resources. +If you are hosting game servers and gbans on the same host, you will likely want to +specify [GOMAXPROCS](https://pkg.go.dev/runtime#hdr-Environment_Variables) +when starting gbans so that you can set processor affinity/cpuset properly to ensure they are not fighting each other +for resources. -IP2Location updates are a fairly intensive process, so considerations should be taken as far as how and when to update the database +IP2Location updates are a fairly intensive process, so considerations should be taken as far as how and when to update +the database to ensure it doesn't impact other things on the system. ## Runtime requirements @@ -29,7 +34,8 @@ to ensure it doesn't impact other things on the system. Running the binaries is very easy as they are statically compiled. All frontend assets are embedded into the binary to make deployment as trivial as possible. -- Any modern-ish postgresql install with [PostGIS](https://postgis.net/) & [ip4r](https://github.com/RhodiumToad/ip4r) extensions. All non-EOL versions of postgres should work. +- Any modern-ish postgresql install with [PostGIS](https://postgis.net/) & [ip4r](https://github.com/RhodiumToad/ip4r) + extensions. All non-EOL versions of postgres should work. - A platform that go supports. Only linux and windows amd64 are tested, but as far as I know, others should work. ## Sourcemod Plugins @@ -40,7 +46,8 @@ instructions: - [sm-ripext](https://github.com/ErikMinekus/sm-ripext) Provides HTTP(S) client functionality - [sm-json](https://github.com/clugg/sm-json) `Required for development only` Provides JSON encoding/decoding. - [Connect](https://github.com/asherkin/connect) Provides `OnClientPreConnectEx` -- [SourceTVManager](https://github.com/peace-maker/sourcetvmanager) Interface to interact with the SourceTV server from SourcePawn. +- [SourceTVManager](https://github.com/peace-maker/sourcetvmanager) Interface to interact with the SourceTV server from + SourcePawn. ## gbans Server @@ -50,8 +57,9 @@ Precompiled binaries will be provided once the project is in a more stable state images as they are currently the only tested usecase. - [make](https://www.gnu.org/software/make/) Not strictly required but provides predefined build commands -- [golang 1.22+](https://golang.org/) Version >=1.22 is required. -- [PostgreSQL](https://www.postgresql.org/) Version 16 is the only version currently tested against. All non-EOL versions should be supported. +- [golang 1.23+](https://golang.org/) Version >=1.23 is required. +- [PostgreSQL](https://www.postgresql.org/) Version 16 is the only version currently tested against. All non-EOL + versions should be supported. - [PostGIS](https://postgis.net/) Provides some basic GIS functionality. - [ip4r](https://github.com/RhodiumToad/ip4r) Improved ip/cidr indexed and types. - [Node.js >=18.17.1](https://nodejs.org/en/) To build frontend @@ -72,12 +80,14 @@ Clone the gbans repository ```shell git clone git@github.com:leighmacdonald/gbans.git && cd gbans ```` + Build the projects, replace SM_ROOT with the path to your sourcemod installation directory (the folder with addons and cfg folders inside). ```shell SM_ROOT=~/sourcemod make ```` + You should now have a binary located at `./build/$platform/gbans` ### Docker @@ -139,4 +149,5 @@ SSLCertificateKeyFile /etc/cloudflare/example.com.key ``` -If using Cloudflare to provide user location, you can use Origin Certificates to generate a long-lasting SSL certificate. +If using Cloudflare to provide user location, you can use Origin Certificates to generate a long-lasting SSL +certificate.