GOWebServer is a web server for Growtopia Private Server. It is written in Go and is designed to be fast and efficient.
- HTTP/HTTPS server with TLS support
- Handle
/growtopia/server_data.phprequests - Advanced DDoS protection (rate limiting, connection tracking, IP blacklisting)
- Proxy detection with circuit breaker pattern
- Cache server for Growtopia Client with CDN fallback
- Geo Location blocking based on country codes
Download the pre-built binary for your operating system from the releases page:
- Windows: Download
GOWebServer-windows-amd64.zip - Linux: Download
GOWebServer-linux-amd64.zip - macOS: Download
GOWebServer-darwin-amd64.zip
Extract the archive and run the executable.
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:
git clone https://github.com/yoruakio/GOWebServer.git
cd GOWebServer- Build the server:
go build
# or running the go file directly
go run main.go- Run the server:
./GOWebServerNote
DDoS Protection (Optional but Recommended)
The server includes built-in application-layer DDoS protection (connection rate limiting, concurrent connection limits).
For additional OS-level protection against TCP SYN floods, UDP floods, and ICMP floods, run:
sudo ./scripts/setup-ddos-protection.shThis configures kernel parameters and iptables rules for network-layer attack mitigation. Only required for Linux systems.
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": "default", // Growtopia CDN to handle missing files ( default: 0098/0181220253/ - 5.39 )
"loginUrl": "default", // URI for client login ( default: gt-login.vercel.app - 31-12-2025 update )
"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.