the control panel
- home_handling_functions.php: display expiration as Y-m-d only (not Y-m-d H:i);
apply full-day grace by comparing date-only (midnight) in PHP so a server
expiring on today's date remains Active the entire day
- cron-shop.php Step B & C: change server_expiration_date comparisons from
< DATE_SUB(NOW(), ...) to DATE(server_expiration_date) < DATE_SUB(CURDATE(), ...)
ensuring the full expiration day is honoured
- user_games/check_expire.php: change all three expiration queries from
<= time() to < strtotime(date('Y-m-d')) (today-midnight) for full-day grace
- billing/test_integration.php: replace status='paid' (old order status) with
status IN ('Active','paid') for backward compat during migration
- user_games/billing_integration.php: clarify comment that billing_invoices.status
uses the payment lifecycle ('paid'/'unpaid'/'due'), separate from billing_orders.status
- Add modules/billing/sql/normalize_billing_order_status.sql migration script
to convert installed->Active, paid->Active, suspended->Expired in existing rows
- Update CHANGELOG.md
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/439845e0-926e-4b49-9cd0-810457b73c12
Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
|
||
|---|---|---|
| .github | ||
| .vscode | ||
| .well-known/pki-validation | ||
| Crypt | ||
| css | ||
| docs | ||
| documentation | ||
| favicon | ||
| ftp | ||
| images | ||
| includes | ||
| js | ||
| lang | ||
| modules | ||
| obsidian-upstream@471c3829b9 | ||
| protocol | ||
| scripts | ||
| sql | ||
| status | ||
| themes | ||
| tools | ||
| .gitignore | ||
| all_hostable_games_union.csv | ||
| APACHE_SETUP.md | ||
| api_authorized.hosts | ||
| backup.sh | ||
| biedi.php | ||
| browserconfig.xml | ||
| CHANGELOG.md | ||
| check.php | ||
| COPYING | ||
| deploy_gsp.sh | ||
| exim SMTP.txt | ||
| favicon.ico | ||
| fileserver.conf | ||
| game_titles.txt | ||
| gsp | ||
| home.php | ||
| IMPLEMENTATION_COMPLETE.md | ||
| IMPLEMENTATION_NOTES.md | ||
| IMPLEMENTATION_SUMMARY.md | ||
| index.orig.php | ||
| index.php | ||
| INSTALL.BAT | ||
| install.php | ||
| INSTALL_README.md | ||
| LICENSE | ||
| manifest.json | ||
| ogp_api.php | ||
| panel.conf | ||
| panel.sql | ||
| php_aggregator.php | ||
| phpinfo.php | ||
| push_to_github.sh | ||
| README.md | ||
| README.txt | ||
| server_status.php | ||
| serverbot.php | ||
| status_api.php | ||
| status_api_local.php.example | ||
| TASK_COMPLETION_SUMMARY.md | ||
| tos.php | ||
| tz.php | ||
GSP Windows Agent
Cygwin-based agent that lets the GameServer Panel manage Windows Server 2019/2022 hosts. It mirrors the Linux agent feature set: signed RPC transport, GNU Screen session management, and SteamCMD-aware installers.
Highlights
- One-click installer (
Install/onceinstall_agent.bat) that bootstraps Cygwin, required packages, and thegameserverservice account. - Task Scheduler entry that keeps the agent running after reboots.
- Helper scripts (
agent_conf.sh,rebase_post_ins.bat, etc.) for maintaining the environment. - Markdown documentation under
documentation/agent-guide.md.
Quick start
- Clone or download the repository to
C:\\gsp-agent. - Right-click
Install\\onceinstall_agent.bat→ “Run as administrator”. - Open the bundled Cygwin terminal and configure the agent:
cd /OGP bash agent_conf.sh -p "gameserverPassword" - Edit
C:\\OGP\\Cfg\\Config.pm(match the settings you entered in the GSP web panel) and start the “OGP agent start on boot” scheduled task.
Related repositories
- GSP – PHP panel that issues commands to the agents.
- GSP-Agent-Linux – Linux counterpart with systemd service files.
Contributing
Send pull requests through GitHub. Test installer changes on a clean Windows Server VM, keep batch files in ASCII, and update documentation/agent-guide.md whenever you modify the workflow.