GOWebServer is a web server for Growtopia Private Server. It is written in Go and is designed to be fast and efficient.
- Basic HTTP server
- Handle
/growtopia/server_data.php
requests - Implementing rate limiting requests
- Implementing cache server for Growtopia Client
- Handling missing cache files
- Geo Location checker to block certain countries
The following are required to build and run GOWebServer:
- Golang (1.16+) - The Go Programming Language
- and little bit of brain cells (optional)
Building the server is simple, just run the following command:
- Clone the repository:
# Clone the repository and its submodules for the requirements of geo location detection
git clone https://github.com/yoruakio/GOWebServer.git --recursive
- Build the server:
go build
# or running the go file directly
go run main.go
- Run the server:
./GOWebServer
The server can be configured using the config.json
file. The following are the default configuration:
{
"host": "127.0.0.1", // ENet Host
"port": "17091", // ENet Port
"serverCdn": "", // Growtopia CDN to handle missing files
"loginUrl": "gtlogin-backend.vercel.app", // URI for client login
"isLogging": false,
"rateLimit": 300,
"rateLimitDuration": 5,
"enableGeo": false, // Enable Geo Location blocking
"trustedRegions": [ // List of trusted regions that allow access to the server
"ID",
"SG",
"MY"
]}
If you have any questions or suggestions, feel free to contact me at:
Contributions are welcome! If you would like to contribute to the project, please fork the repository and submit a pull request.
- GTPSWebServer - The original GOWebServer was inspired by this project.
- Golang - The Go Programming Language
GOWebServer is licensed under the MIT License. See the LICENSE file for more information.