diff --git a/Panel/modules/website/README.md b/Panel/modules/website/README.md
index d6d3a310..8e0a3bf7 100644
--- a/Panel/modules/website/README.md
+++ b/Panel/modules/website/README.md
@@ -45,6 +45,7 @@ Panel/modules/website/
webhook.php
pricing.php
locations.php
+ panel_features.php
support.php
doc_asset.php
api/
@@ -68,6 +69,7 @@ Panel/modules/website/
documentation.php
pricing.php
locations.php
+ panel_features.php
support.php
config/
config.example.php
@@ -88,19 +90,47 @@ The website uses a central bootstrap instead of scattered relative paths.
## Navigation and homepage
-The shared header keeps the main navigation short:
+The shared header separates public navigation, account access, and action links.
+
+Primary navigation:
- Home
- Game Servers
+- Pricing
+- Locations
+- Panel Features
- Documentation
- Support
-- Account/Login
+
+Account area:
+
+- logged out: Login, Create Account, Cart
+- logged in: My Account, My Orders, My Servers, Cart, Logout
+- staff-only: Staff Dashboard
+
+Action links:
+
- Custom Projects
- Control Panel
-Pricing and locations pages can remain available through the footer or direct
-links, but the public homepage carries concise pricing and location summaries so
-the desktop and mobile menus stay focused.
+`Panel Features` is an informational website page. `Control Panel` is the
+external link that opens the operational GSP Panel at the configured Panel URL.
+
+The homepage should not duplicate the header Control Panel action with extra
+promotional Control Panel blocks. Pricing and location summaries on the homepage
+must use customer-facing sales language rather than internal planning notes.
+
+Footer placement:
+
+- one modest `Control Panel` link under account/services
+- one `Panel Features` informational link in the explore links
+
+## Public copy policy
+
+Public website copy must never repeat developer instructions, prompt wording,
+acceptance criteria, task rationale, or statements explaining where content
+belongs. Internal requirements must be translated into polished customer-facing
+language before they appear on public pages.
## Billing, database, and staff behavior
diff --git a/Panel/modules/website/assets/css/site.css b/Panel/modules/website/assets/css/site.css
index 35a37af7..b0c755a3 100644
--- a/Panel/modules/website/assets/css/site.css
+++ b/Panel/modules/website/assets/css/site.css
@@ -133,10 +133,48 @@ textarea {
flex-wrap: nowrap;
align-items: center;
justify-content: flex-end;
+ gap: 12px;
+ min-width: 0;
+}
+
+.nav-section {
+ display: flex;
+ align-items: center;
+ gap: 10px;
+ min-width: 0;
+}
+
+.nav-inline-group {
+ display: flex;
+ align-items: center;
gap: 6px;
min-width: 0;
}
+.nav-section-public {
+ flex: 1 1 auto;
+ min-width: 0;
+}
+
+.nav-section-account,
+.nav-section-actions {
+ flex: 0 0 auto;
+}
+
+.nav-account-inline,
+.nav-actions-inline {
+ justify-content: flex-end;
+}
+
+.nav-section-label {
+ display: none;
+ color: #b8cae5;
+ font-size: 0.76rem;
+ font-weight: 800;
+ letter-spacing: 0.06em;
+ text-transform: uppercase;
+}
+
.nav-link {
padding: 9px 10px;
border-radius: 6px;
@@ -1066,6 +1104,21 @@ textarea {
flex-direction: column;
align-items: stretch;
padding-top: 12px;
+ gap: 16px;
+ }
+
+ .nav-section {
+ display: grid;
+ gap: 8px;
+ }
+
+ .nav-inline-group {
+ display: grid;
+ gap: 6px;
+ }
+
+ .nav-section-label {
+ display: block;
}
.nav-link {
@@ -1075,8 +1128,7 @@ textarea {
}
.account-menu {
- border-top: 1px solid var(--line);
- padding-top: 8px;
+ padding-top: 0;
}
.account-menu summary {
@@ -1092,12 +1144,23 @@ textarea {
border-radius: 0;
background: transparent;
box-shadow: none;
+ gap: 2px;
}
.account-menu-link {
min-height: 42px;
}
+ .nav-section-account .nav-inline-group,
+ .nav-section-actions .nav-inline-group {
+ justify-content: stretch;
+ }
+
+ .nav-section-actions {
+ padding-top: 4px;
+ border-top: 1px solid var(--line);
+ }
+
.nav-action-secondary,
.nav-action-primary {
justify-content: center;
diff --git a/Panel/modules/website/assets/js/site.js b/Panel/modules/website/assets/js/site.js
index 966b893a..b98b3be4 100644
--- a/Panel/modules/website/assets/js/site.js
+++ b/Panel/modules/website/assets/js/site.js
@@ -11,8 +11,22 @@ document.addEventListener('DOMContentLoaded', () => {
const expanded = toggle.getAttribute('aria-expanded') === 'true';
toggle.setAttribute('aria-expanded', expanded ? 'false' : 'true');
menu.classList.toggle('is-open', !expanded);
+ if (accountMenu && window.matchMedia('(max-width: 820px)').matches && expanded) {
+ accountMenu.open = false;
+ }
+ });
+
+ document.addEventListener('click', (event) => {
+ if (!menu.classList.contains('is-open')) {
+ return;
+ }
+ if (toggle.contains(event.target) || menu.contains(event.target)) {
+ return;
+ }
+ toggle.setAttribute('aria-expanded', 'false');
+ menu.classList.remove('is-open');
if (accountMenu && window.matchMedia('(max-width: 820px)').matches) {
- accountMenu.open = !expanded;
+ accountMenu.open = false;
}
});
});
diff --git a/Panel/modules/website/includes/footer.php b/Panel/modules/website/includes/footer.php
index 981d30b3..fa006311 100644
--- a/Panel/modules/website/includes/footer.php
+++ b/Panel/modules/website/includes/footer.php
@@ -27,22 +27,23 @@ $currentUser = website_current_user();
Explore
-
Customer Access
+ Account and Services
-
Need Help?
+ Help and Projects
@@ -106,50 +105,31 @@ $locationSummary = ['USA East', 'USA Central', 'USA West', 'Europe'];
Pricing summary
- Prices belong on the order page.
- Actual prices are reflected on each server order page. Standard slot-based servers start at $= website_escape(number_format($standardSlotStart, 2)) ?> per slot, and most standard plans use a = website_escape((string)$standardMinSlots) ?>-slot minimum.
+ Flexible hosting for different communities.
+ Choose a game, player capacity, region, and available options for the server you want to run. Standard slot-based hosting starts at $= website_escape(number_format($standardSlotStart, 2)) ?> per slot, with most standard plans beginning at = website_escape((string)$standardMinSlots) ?> slots.
Selected lightweight legacy servers may start around $= website_escape(number_format($legacyMonthlyStart, 2)) ?> per month. = website_escape($fixedCapNote) ?>
- = website_escape($pricingDisclaimer) ?> = website_escape($customWorkNote) ?>
+ = website_escape($customWorkNote) ?>
- Locations summary
- Regional hosting options.
- Locations are summarized here so visitors can get oriented without another sales page.
+ Locations
+ Hosting locations for your players.
+ Select from available regions in the United States and Europe when you configure a server. Availability can vary by game and current capacity.
= website_escape($locationName) ?>
- Final availability depends on the selected game, resource needs, and current capacity.
+
-
-
-
-
-
) ?>)
-
-
-
-
GSP control
-
Manage servers through the GSP control panel.
-
Start, stop, and restart servers. Edit configuration files, review logs, run supported content workflows, schedule tasks, and manage operational work from the panel.
-
-
-
-
-
-
-
diff --git a/Panel/modules/website/pages/panel_features.php b/Panel/modules/website/pages/panel_features.php
new file mode 100644
index 00000000..f136052d
--- /dev/null
+++ b/Panel/modules/website/pages/panel_features.php
@@ -0,0 +1,71 @@
+
+
+
+
Server management without unnecessary complexity.
+
Manage your hosted game servers from a browser with tools for everyday controls, configuration, content workflows, and practical maintenance. Available options can vary by game, but the goal stays the same: straightforward control without guesswork.
+
+
+
+
+
+
+
+ Everyday Server Controls
+ Start, stop, and restart servers from one account, with clear status feedback and direct access to the server homes assigned to you.
+
+
+ Files and Configuration
+ Edit common configuration files, work with available file-management tools, and use FTP access where your service and game setup support it.
+
+
+ Monitoring and Status
+ Review current server state, logs, and operational details without relying on a separate machine or remote desktop session just to check what happened.
+
+
+
+
+
+
+
+
+
+ Content workflows
+ Mods and server content
+ Install supported server content, run scripted content installers, and use dedicated Workshop workflows where the game configuration provides them.
+
+
+ Maintenance
+ Scheduling and routine tasks
+ Use available scheduling tools for server actions and maintenance workflows, so restarts, updates, and recurring tasks do not have to be handled by hand every time.
+
+
+ Support
+ Help when you need it
+ If a game needs custom configuration, legacy hosting knowledge, or a more unusual setup, support and development help are available instead of leaving you with a stock panel and no follow-through.
+
+
+ Browser access
+ Designed for day-to-day use
+ Common controls stay available from desktop and mobile browsers, with one account linking your website orders and the servers assigned to you.
+
+
+
+
+
+
+
+
+
+
Ready to see what you can run?
+
Browse the current game-server catalog or open the control panel if you already have a hosted server with us.
+
+
+
+
+
diff --git a/Panel/modules/website/panel_features.php b/Panel/modules/website/panel_features.php
new file mode 100644
index 00000000..e82de15b
--- /dev/null
+++ b/Panel/modules/website/panel_features.php
@@ -0,0 +1,15 @@
+ 'panel-features',
+ 'pageTitle' => 'Panel Features - Gameservers.World',
+ 'metaDescription' => 'See what the Gameservers.World control panel lets you manage from your browser, including server controls, files, configuration, scheduling, content workflows, and status tools.',
+ 'canonicalPath' => 'panel_features.php',
+ ]
+);
diff --git a/docs/modules/website.md b/docs/modules/website.md
index 495484ad..2d441260 100644
--- a/docs/modules/website.md
+++ b/docs/modules/website.md
@@ -93,26 +93,59 @@ name, platform, price, slot range, image status, and location count visible.
## Navigation
-Website footer account links are state-aware:
+The shared header uses one responsive navigation implementation for every public
+page.
-- logged out: `Account Login`, `Order a Server`, `Control Panel`
-- logged in: `My Account`, `Order a Server`, `Control Panel`, `My Servers`, `Log Out`
-- staff-only links appear only for Panel admin users and still enforce website staff authorization server-side
+Primary links:
-The shared header uses one responsive navigation bar:
+- Home
+- Game Servers
+- Pricing
+- Locations
+- Panel Features
+- Documentation
+- Support
-- primary links: Home, Game Servers, Documentation, Support
-- account menu: Login/Create Account/Cart or My Account/My Orders/My Servers/Cart/Staff Dashboard/Logout
-- action links: Custom Projects and Control Panel
+Account area:
-Pricing and locations remain available as website pages and footer links, but they
-are summarized on the homepage instead of being prominent main navigation items.
+- logged out: Login, Create Account, Cart
+- logged in: My Account, My Orders, My Servers, Cart, Logout
+- staff-only: Staff Dashboard
+
+Right-side actions:
+
+- Custom Projects
+- Control Panel
+
+`Panel Features` is a website information page that explains the customer
+benefits of the GSP Panel. `Control Panel` is the direct external action that
+opens the operational Panel at the configured Panel URL.
+
+The footer should contain only one modest `Control Panel` link. Public pages,
+especially the homepage, must not repeat Control Panel promotions unnecessarily.
Control Panel links point directly to the configured Panel domain. `My Servers`
opens a website customer page that summarizes website orders and links to the
Panel for live server controls. Staff Dashboard opens the website sales/billing
staff area, not Panel activity logging.
+## Public Copy Policy
+
+Public website copy must never repeat developer instructions, prompt wording,
+acceptance criteria, task rationale, or explanations about where content belongs.
+Internal requirements must be translated into polished customer-facing language.
+
+Avoid public wording such as:
+
+- "belongs on"
+- "summarized here"
+- "visitors can get oriented"
+- "another sales page"
+- "as requested"
+- "this section was moved"
+
+Use direct customer-facing language instead.
+
## Deployment
Recommended:
@@ -132,6 +165,7 @@ Recommended:
- `docs.php`
- `pricing.php`
- `locations.php`
+- `panel_features.php`
- `support.php`
- `login.php`
- `register.php`