moved website outside of panel folder
This commit is contained in:
parent
92ac778956
commit
08f07dca97
10328 changed files with 90 additions and 501 deletions
|
|
@ -1,16 +0,0 @@
|
|||
- Auto-detect which server configs actually support Steam Workshop before showing adapter controls.
|
||||
- Allow players/admins to reorder selected Workshop mods in the new picker UI so load order matches game expectations.
|
||||
- Surface pagination controls in the Workshop picker so users can request additional batches from the new Steam Web API search endpoint.
|
||||
- Add an admin-facing toggle that makes it clear when the HTML scraper fallback is in use and lets staff force API-only mode if Valve ever objects.
|
||||
- Add Workshop result preview thumbnails and author links in the picker for easier browsing.
|
||||
- Add a lightweight admin UI report that flags remaining PHP files still relying on legacy PHP 7 constructs not covered by the automated compatibility pass.
|
||||
- Add a side-by-side before/after diff preview panel to the config_games top-level XML section editor before section saves.
|
||||
- Add an integration smoke test that exercises paid checkout, free checkout, and add-to-cart on installs with/without `period_start` to prevent billing schema drift regressions.
|
||||
- Add a storefront visual-regression check at 375px and 430px breakpoints covering login, order, and cart pages to prevent mobile overflow regressions.
|
||||
- Complete a full pass over all `modules/billing/docs/*` game guides to standardize OS/Workshop/RCON capability statements against current XML-backed server support.
|
||||
- Add an automated billing provisioning integration test fixture that verifies arrange_ports exact/fallback allocation, duplicate-port protection, and home_id linkage after paid/free checkout.
|
||||
- Add a billing UI badge/filter that distinguishes "pending install" vs "installed" states directly in customer/server order views.
|
||||
- Add an admin billing orders "provisioning details" drawer that reads `modules/billing/logs/provisioning.log` and shows the latest mechanism/result/error per order without leaving the panel.
|
||||
- Add an automated end-to-end check that verifies `create_servers.php` skips already-installed homes while still retrying existing-home orders with missing executable/IP-port/mod prerequisites.
|
||||
- Add a repeatable QA fixture that exercises `modules/billing/logs/provisioning_trace.log` writability failures and verifies payment success pages surface the traced provision result for paid and free orders.
|
||||
- Add an admin/serverlist UI badge that shows detected service OS variant (Windows/Linux/Any) from XML metadata next to each purchasable service row.
|
||||
|
|
@ -1,128 +0,0 @@
|
|||
# GSP Installer – Differences from Original OGP `install.php`
|
||||
|
||||
## Overview
|
||||
|
||||
`install.php` in this repository is a customized installer for the
|
||||
**GSP (Game Server Panel)** maintained by WDS. It is based on the original
|
||||
OGP installer at
|
||||
<https://github.com/OpenGamePanel/OGP-Website/blob/master/install.php>
|
||||
but has been adapted for the GSP/WDS environment.
|
||||
|
||||
---
|
||||
|
||||
## Key differences
|
||||
|
||||
### 1. Default table prefix: `gsp_`
|
||||
|
||||
The original OGP installer defaults to `ogp_`. Our installer defaults to
|
||||
`gsp_` (the `$table_prefix` form field pre-fills with `gsp_`). You may
|
||||
change this during installation.
|
||||
|
||||
### 2. Config file now includes `$db_port`
|
||||
|
||||
The generated `includes/config.inc.php` includes a `$db_port` variable:
|
||||
|
||||
```php
|
||||
$db_host="HOST";
|
||||
$db_port="3306";
|
||||
$db_user="USER";
|
||||
$db_pass="PASSWORD";
|
||||
$db_name="DATABASE";
|
||||
$table_prefix="gsp_";
|
||||
$db_type="mysql";
|
||||
```
|
||||
|
||||
Existing config files that predate this installer and lack `$db_port`
|
||||
continue to work because the parameter defaults to `NULL` (MySQL default
|
||||
port 3306).
|
||||
|
||||
### 3. MySQLi connection uses the port
|
||||
|
||||
`includes/database_mysqli.php` – `OGPDatabaseMySQL::connect()` – now
|
||||
accepts an optional `$db_port` argument and passes it to `mysqli_connect()`:
|
||||
|
||||
```php
|
||||
$this->link = mysqli_connect($db_host, $db_user, $db_pass, $db_name, $port);
|
||||
```
|
||||
|
||||
`includes/helpers.php` – `createDatabaseConnection()` – likewise accepts
|
||||
and forwards `$db_port`.
|
||||
|
||||
All panel entry points (`home.php`, `index.php`, `ogp_api.php`,
|
||||
`server_status.php`, `modules/billing/cron-shop.php`,
|
||||
`modules/billing/includes/panel_bridge.php`) pass
|
||||
`isset($db_port) ? $db_port : NULL` when calling
|
||||
`createDatabaseConnection()`.
|
||||
|
||||
### 4. Default admin account created automatically
|
||||
|
||||
After modules are installed, the installer automatically creates an `admin`
|
||||
account with password `admin` using the existing `OGPDatabaseMySQL::addUser()`
|
||||
method (which stores passwords as `MD5`). If an admin user already exists it
|
||||
is **not** duplicated.
|
||||
|
||||
**Change the default password immediately after your first login.**
|
||||
|
||||
### 5. No prerequisite checks
|
||||
|
||||
Step 0 shows a welcome screen and language selector only. The original OGP
|
||||
installer checks for required PHP extensions, Pear, etc. GSP skips those
|
||||
checks because the deployment environment is pre-validated by our bootstrap
|
||||
scripts.
|
||||
|
||||
### 6. All modules installed automatically
|
||||
|
||||
Every directory found under `modules/` is installed via
|
||||
`install_module()`. Prerequisite failures for individual modules are treated
|
||||
as warnings (not hard failures) so that the overall installation succeeds
|
||||
even if optional dependencies are missing.
|
||||
|
||||
### 7. `ogp_` → `gsp_` table migration (optional, safe)
|
||||
|
||||
If the database already contains tables prefixed with `ogp_`:
|
||||
|
||||
* For each `ogp_X` table, if the corresponding `gsp_X` table does **not**
|
||||
exist, it is renamed to `gsp_X`.
|
||||
* If `gsp_X` already exists, the rename is skipped silently.
|
||||
* The installer never aborts due to pre-existing tables.
|
||||
|
||||
This allows upgrading an existing OGP installation to GSP without losing data.
|
||||
|
||||
### 8. MD5 password hashing (legacy)
|
||||
|
||||
The `OGPDatabaseMySQL::addUser()` method stores passwords using `MD5()`.
|
||||
This is legacy behaviour inherited from OGP and matches the existing panel
|
||||
login system. MD5 is cryptographically broken for new systems; however,
|
||||
changing the hashing scheme requires coordinated changes to the login code
|
||||
(`index.php`, `modules/register/`, etc.) and is outside the scope of the
|
||||
installer. Operators are strongly advised to audit and upgrade the hashing
|
||||
scheme in a follow-up change.
|
||||
|
||||
### 9. Branding
|
||||
|
||||
The installer title and default site settings reference **GSP – Game Server
|
||||
Panel** and **WDS** instead of "Open Game Panel".
|
||||
|
||||
---
|
||||
|
||||
## Running the installer
|
||||
|
||||
1. Upload/deploy the panel files.
|
||||
2. Ensure `includes/config.inc.php` is writable (or does not exist yet).
|
||||
3. Open `https://yoursite/install.php` in a browser.
|
||||
4. Select your language and click **Next**.
|
||||
5. Enter database credentials and click **Next**.
|
||||
6. The installer writes config, migrates tables (if needed), installs
|
||||
modules, and creates the default admin account.
|
||||
7. **Delete `install.php`** from the server after installation.
|
||||
8. Optionally `chmod 644 includes/config.inc.php` for security.
|
||||
|
||||
---
|
||||
|
||||
## Rollback
|
||||
|
||||
* To re-run the installer, simply navigate to `install.php` again.
|
||||
* If the wrong prefix was chosen, edit `includes/config.inc.php` manually or
|
||||
re-run `install.php`.
|
||||
* Renamed (`ogp_` → `gsp_`) tables can be manually renamed back with
|
||||
`RENAME TABLE gsp_X TO ogp_X` in MySQL.
|
||||
Loading…
Add table
Add a link
Reference in a new issue