Panel/README.md
2025-09-11 13:29:15 -04:00

212 lines
No EOL
4.8 KiB
Markdown

# GameServerPanel (GSP) - Unstable Branch
This is the **GameServerPanel (GSP)** project, a cross-platform game server management panel and agent system.
This README covers installation and setup for:
- **The Web Panel**
- **The Linux Agent**
- **The Windows Agent**
---
## Table of Contents
- [Prerequisites](#prerequisites)
- [Panel Installation (Linux)](#panel-installation-linux)
- [Agent Installation (Linux)](#agent-installation-linux)
- [Agent Installation (Windows)](#agent-installation-windows)
- [Example Installation Scripts](#example-installation-scripts)
- [Troubleshooting](#troubleshooting)
- [Contributing](#contributing)
---
## Prerequisites
### General
- **Git**
- **curl/wget**
- **Sudo/root privileges**
### Panel (Linux)
- **Ubuntu 22.04+** (other distros may work)
- **Apache2** or **nginx**
- **PHP 8.1+**
- **MariaDB** or **MySQL**
- **Required PHP extensions**:
`php-mysqli php-json php-curl php-xml php-zip php-gd php-mbstring php-bcmath php-intl php-pdo php-cli`
- **Composer** (for PHP dependency management)
### Linux Agent
- **Ubuntu 22.04+** (other distros may work)
- **Perl 5**
- **Perl modules**:
`Proc::ProcessTable`, `IO::Socket`, `DBI`, `Sys::Hostname`, `LWP::UserAgent`, `JSON`, `File::Path`
- **Screen** (for game server management)
### Windows Agent
- **Windows 10/11/Server**
- **Strawberry Perl** (or ActivePerl)
- **Perl modules**:
Same as Linux agent (`Proc::ProcessTable`, etc.)
- **Run agent as Administrator** for full functionality
---
## Panel Installation (Linux)
1. **Install prerequisites:**
```bash
sudo apt update
sudo apt install apache2 mariadb-server php php-mysqli php-json php-curl php-xml php-zip php-gd php-mbstring php-bcmath php-intl php-pdo php-cli composer git unzip
```
2. **Clone the repository:**
```bash
git clone -b unstable https://github.com/GameServerPanel/GSP.git
cd GSP/ControlPanel
```
3. **Install PHP dependencies:**
```bash
composer install
```
4. **Set permissions:**
```bash
sudo chown -R www-data:www-data .
sudo chmod -R 755 .
```
5. **Configure Apache/nginx:**
- Point your DocumentRoot to `GSP/ControlPanel/public`
- Restart your webserver.
6. **Configure the Panel:**
- Open the panel in your browser
- Follow setup wizard (enter database details, admin account, etc.)
---
## Agent Installation (Linux)
1. **Install prerequisites:**
```bash
sudo apt update
sudo apt install perl build-essential screen libproc-processtable-perl libio-socket-perl libdbi-perl libsys-hostname-perl libwww-perl libjson-perl libfile-path-perl
```
2. **Clone the agent:**
```bash
git clone -b unstable https://github.com/GameServerPanel/GSP.git
cd GSP/Agent
```
3. **Run the agent:**
```bash
perl ogp_agent.pl
```
> If `libproc-process-table-perl` is not available on your distro, install via CPAN:
>
> ```bash
> sudo apt install cpanminus
> sudo cpanm Proc::ProcessTable
> ```
---
## Agent Installation (Windows)
1. **Install [Strawberry Perl](https://strawberryperl.com/)**
2. **Open Command Prompt as Administrator**
3. **Install required Perl modules:**
```shell
cpan install Proc::ProcessTable IO::Socket DBI Sys::Hostname LWP::UserAgent JSON File::Path
```
4. **Clone the repository or download the Agent folder**
5. **Run the agent:**
```shell
perl ogp_agent.pl
```
---
## Example Installation Scripts
### Linux Agent Quick Install
```bash
#!/bin/bash
sudo apt update
sudo apt install -y perl build-essential screen git \
libproc-processtable-perl libio-socket-perl libdbi-perl \
libsys-hostname-perl libwww-perl libjson-perl libfile-path-perl
git clone -b unstable https://github.com/GameServerPanel/GSP.git
cd GSP/Agent
perl ogp_agent.pl
```
### Panel Quick Install
```bash
#!/bin/bash
sudo apt update
sudo apt install -y apache2 mariadb-server php php-mysqli php-json php-curl php-xml php-zip php-gd php-mbstring php-bcmath php-intl php-pdo php-cli composer git unzip
git clone -b unstable https://github.com/GameServerPanel/GSP.git
cd GSP/ControlPanel
composer install
sudo chown -R www-data:www-data .
sudo chmod -R 755 .
# Configure your web server to point to GSP/ControlPanel/public
```
---
## Troubleshooting
- **Missing Perl modules:**
Use `cpanm` or `cpan` to install missing modules.
- **libproc-process-table-perl not found:**
Install via CPAN (`cpanm Proc::ProcessTable`)
- **Web panel not loading:**
Check Apache/nginx logs, file permissions, and PHP modules.
- **Agent cannot communicate with panel:**
Check firewall settings and agent config.
---
## Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
---
## License
See `LICENSE` file in the repository.
---
**For detailed help or bug reports, open an issue on [GitHub](https://github.com/GameServerPanel/GSP/issues).**