fixed sales pitxh

This commit is contained in:
Frank Harris 2026-06-16 10:14:41 -05:00
parent e448b415ff
commit 48afc9d770
675 changed files with 248 additions and 83827 deletions

View file

@ -3,41 +3,43 @@
declare(strict_types=1);
$discordUrl = trim((string)website_config('discord_url', ''));
$customProjectUrl = website_custom_project_url();
?>
<section class="hero">
<div class="container hero-layout">
<div>
<div class="eyebrow">Dedicated resources. Full control. Real support.</div>
<h1>Virtual private game servers with predictable resources and full configuration access.</h1>
<p><?= website_escape(website_config('site_tagline')) ?> Gameservers.World focuses on stable capacity, older community-favorite titles, mod support, and a control panel that gives customers practical access instead of a stripped-down toy interface.</p>
<div class="eyebrow">Game hosting backed by developers</div>
<h1>Host it. Mod it. Build it.</h1>
<p>Launch an affordable virtual private game server or work with the team behind Runlevel Systems on the parts that make your community specific: mods, scripts, automation, integrations, admin tools, custom GSP workflows, and unusual server setups that do not fit a generic hosting template.</p>
<div class="hero-actions">
<a class="button button-primary" href="<?= website_escape(website_url('serverlist.php')) ?>">View Game Servers</a>
<a class="button button-secondary" href="<?= website_escape(panel_url()) ?>">Open Control Panel</a>
<a class="button button-secondary" href="<?= website_escape($customProjectUrl) ?>">Discuss a Custom Project</a>
<a class="button button-ghost" href="<?= website_escape(panel_url()) ?>">Open Control Panel</a>
</div>
<div class="hero-points">
<div class="hero-point">
<strong>Never oversold</strong>
<span class="muted">Dedicated resources stay dedicated. Predictable performance is the product, not an upgrade.</span>
<strong>Affordable hosting first</strong>
<span class="muted">You can order a normal hosted server without custom work, then decide later whether you need help extending it.</span>
</div>
<div class="hero-point">
<strong>Mod and Workshop support</strong>
<span class="muted">Common modding workflows, Workshop content, and file access stay available where the game allows it.</span>
<strong>Never-oversold capacity</strong>
<span class="muted">Host systems are actively monitored so customers are not crowded onto overloaded nodes.</span>
</div>
<div class="hero-point">
<strong>Control and customization</strong>
<span class="muted">Startup parameters, configs, backups, and updates are managed through the GSP panel without hiding the important controls.</span>
<strong>Real engineering help</strong>
<span class="muted">Developers, software engineers, game developers, and infrastructure specialists are available when a server needs more than a restart button.</span>
</div>
<div class="hero-point">
<strong>Real people</strong>
<span class="muted">Documentation exists, but you can still talk to someone when an old modpack or legacy title gets awkward.</span>
<strong>Customization is available</strong>
<span class="muted">Files, configs, startup parameters, supported mods, Workshop content, and custom tooling can be reviewed case by case.</span>
</div>
</div>
</div>
<div class="hero-visual">
<img src="<?= website_escape(website_asset('images/banner.png')) ?>" alt="Gameservers.World supported games collage">
<div class="hero-visual-card">
<strong>Built for hosted communities that want actual control</strong>
<p>Use the GSP panel for server start/stop, config editing, Workshop or mod workflows, logs, file access, and routine maintenance without depending on fragile manual shell work.</p>
<strong>More than hosting</strong>
<p>Gameservers.World hosts the server. Runlevel Systems provides the development, integration, and infrastructure expertise behind it.</p>
</div>
</div>
</div>
@ -47,20 +49,20 @@ $discordUrl = trim((string)website_config('discord_url', ''));
<div class="container">
<div class="stats-grid">
<div class="stat-card">
<strong>Dedicated</strong>
<span>No noisy-neighbor overselling.</span>
<strong>128 GB RAM</strong>
<span>Host specification, not a per-customer dedicated allocation.</span>
</div>
<div class="stat-card">
<strong>Full access</strong>
<span>Configs, startup parameters, files, backups, and updates.</span>
<strong>32 CPU cores</strong>
<span>Capacity is managed for stable game performance and headroom.</span>
</div>
<div class="stat-card">
<strong>Legacy-friendly</strong>
<span>Older and community-favorite games stay part of the catalog.</span>
<strong>2 TB SSD</strong>
<span>Fast storage on monitored hosts instead of overloaded bargain nodes.</span>
</div>
<div class="stat-card">
<strong>Operational help</strong>
<span>Human support when the docs are not enough.</span>
<strong>Daily backups</strong>
<span>Recover from failed updates, bad changes, or configuration mistakes with help from support.</span>
</div>
</div>
</div>
@ -69,25 +71,26 @@ $discordUrl = trim((string)website_config('discord_url', ''));
<section class="section">
<div class="container">
<div class="section-heading">
<h2>Why Gameservers.World</h2>
<p>The website now makes the actual sales proposition explicit: dedicated capacity, access to the knobs that matter, and hosting for both current and older multiplayer titles without burying customers behind fragile shared-hosting abstractions.</p>
<div class="kicker">More than hosting</div>
<h2>Gameservers.World can host a standard server or help build something more specific.</h2>
<p>Some customers want a clean server with good support and full access. Others need custom scripts, mod workflows, database connections, Discord integrations, migration help, or tools built around a long-running community. Both use cases belong here.</p>
</div>
<div class="feature-grid">
<article class="feature-card">
<h3>Dedicated resources</h3>
<p>Capacity is reserved for the server you pay for. CPU and memory planning are aimed at stable behavior, not squeezing one more tenant onto the node.</p>
<h3>Developer-backed hosting</h3>
<p>Runlevel Systems brings development and engineering experience behind the hosting service, not just sales copy and a billing page.</p>
</article>
<article class="feature-card">
<h3>Mod support</h3>
<p>Workshop and addon workflows are supported where the underlying game tooling allows it, with file access and update paths that customers can actually use.</p>
<h3>Custom server builds</h3>
<p>Individual servers can be configured around startup parameters, file layouts, admin tooling, automation, or game-specific quirks.</p>
</article>
<article class="feature-card">
<h3>Panel control</h3>
<p>Customers manage their service through GSP rather than opening tickets for every config tweak, reboot, backup, or startup parameter change.</p>
<h3>Mod and Workshop integration</h3>
<p>Supported games can use GSP content workflows, dedicated Workshop support, and hands-on help with mod setup or compatibility issues.</p>
</article>
<article class="feature-card">
<h3>Real support</h3>
<p>When an old title, community mod, or provisioning edge case gets weird, support is available through documentation plus direct assistance.</p>
<h3>Infrastructure expertise</h3>
<p>Linux, Windows Server, databases, networking, logs, backups, monitoring, and deployment are part of the same practical support surface.</p>
</article>
</div>
</div>
@ -96,17 +99,27 @@ $discordUrl = trim((string)website_config('discord_url', ''));
<section class="section">
<div class="container">
<div class="section-heading">
<h2>Current locations</h2>
<p>Locations are configured data, not marketing filler. These reflect the currently documented host regions from the existing Gameservers.World site content.</p>
<div class="kicker">What we can build</div>
<h2>Custom work can extend the server beyond the control panel.</h2>
<p>Tell us what you want your server to do. We will review the game, its tools, and the technical limits, then help design a practical solution. Not every request is possible, but unusual requests do not get dismissed out of hand.</p>
</div>
<div class="location-grid">
<?php foreach ($locations as $location): ?>
<article class="location-card">
<h3><?= website_escape((string)($location['name'] ?? '')) ?></h3>
<p><?= website_escape((string)($location['region'] ?? '')) ?></p>
<small><?= website_escape((string)($location['host'] ?? '')) ?></small>
</article>
<?php endforeach; ?>
<div class="feature-grid">
<article class="feature-card">
<h3>Server scripts and automation</h3>
<p>Startup and update automation, scheduled workflows, restart logic, migration helpers, and practical server-side tooling.</p>
</article>
<article class="feature-card">
<h3>Mods, maps, and content</h3>
<p>Mod configuration, Workshop collections, custom maps, custom content packaging, and community-specific content workflows.</p>
</article>
<article class="feature-card">
<h3>Integrations and data</h3>
<p>APIs, web dashboards, Discord integrations, external applications, databases, launchers, and admin utilities.</p>
</article>
<article class="feature-card">
<h3>GSP extensions</h3>
<p>Custom GSP modules, game-specific fixes, monitoring workflows, and operational improvements when a project needs more than the default panel path.</p>
</article>
</div>
</div>
</section>
@ -114,8 +127,49 @@ $discordUrl = trim((string)website_config('discord_url', ''));
<section class="section">
<div class="container">
<div class="section-heading">
<h2>Popular and supported game servers</h2>
<p>These cards are driven from the existing billing catalog when configuration is available. The site does not invent fake availability if the billing catalog is offline.</p>
<div class="kicker">Hosting platform</div>
<h2>Stable hosting without overcrowded nodes.</h2>
<p>Gameservers.World provides virtual private game servers on carefully managed hosts with 128 GB RAM, 32 CPU cores, and 2 TB SSD storage. Those are host specifications, not dedicated per-customer guarantees. The practical commitment is monitored capacity, performance headroom, and daily backups.</p>
</div>
<div class="summary-grid">
<article class="summary-card">
<h3>Real server access</h3>
<p>Edit files and configurations, adjust startup parameters, manage supported server content, review logs, and run updates or scheduled tasks through GSP.</p>
</article>
<article class="summary-card">
<h3>Windows and Linux experience</h3>
<p>The team works across game servers that expect different operating systems, toolchains, runtime quirks, and documentation quality.</p>
</article>
</div>
</div>
</section>
<section class="section">
<div class="container">
<div class="section-heading">
<div class="kicker">Modding and game development support</div>
<h2>Support for current, older, and community-maintained games.</h2>
<p>Some communities need help with abandoned dedicated-server software, badly documented mod stacks, or workflows that mix game servers, websites, databases, and custom scripts. That is where developer-backed hosting matters.</p>
</div>
<div class="summary-grid">
<article class="summary-card">
<h3>What we understand</h3>
<p>Game development, mod development, PHP, Perl, C#, Unity, Linux, Windows Server, networking, databases, SteamCMD, Steam Workshop, dedicated-server software, automation, deployment, and troubleshooting.</p>
</article>
<article class="summary-card">
<h3>How we approach unusual requests</h3>
<p>We host standard servers every day, but we also help revive older multiplayer titles, evaluate unsupported configurations, and scope custom work when a community needs something more specific.</p>
</article>
</div>
</div>
</section>
<section class="section">
<div class="container">
<div class="section-heading">
<div class="kicker">Supported games and locations</div>
<h2>Live catalog where available, honest fallback where it is not.</h2>
<p>Available games and public pricing come from the active service catalog when configuration is available. The site does not invent availability or publish stale game lists just to fill space.</p>
</div>
<?php if (!empty($services)): ?>
<div class="service-grid">
@ -131,7 +185,7 @@ $discordUrl = trim((string)website_config('discord_url', ''));
<h3><?= website_escape($serviceName) ?></h3>
<div class="service-price"><?= $price > 0 ? '$' . number_format($price, 2) . ' / month' : 'Contact for pricing' ?></div>
</header>
<p><?= website_escape(trim((string)($service['description'] ?? 'Dedicated hosting with full configuration access.')) ?: 'Dedicated hosting with full configuration access.') ?></p>
<p><?= website_escape(trim((string)($service['description'] ?? 'Virtual private hosting with full configuration access, real support, and optional customization help.')) ?: 'Virtual private hosting with full configuration access, real support, and optional customization help.') ?></p>
<div class="card-actions">
<a class="button button-primary" href="<?= website_escape($orderUrl) ?>">Order</a>
<a class="button button-ghost" href="<?= website_escape(website_url('serverlist.php')) ?>">Catalog</a>
@ -141,7 +195,7 @@ $discordUrl = trim((string)website_config('discord_url', ''));
</div>
<?php else: ?>
<div class="empty-state">
<h3>Catalog visibility depends on billing data</h3>
<h3>Current game catalog unavailable</h3>
<p><?= website_escape((string)website_config('admin_notice')) ?></p>
<div class="card-actions">
<a class="button button-secondary" href="<?= website_escape(website_url('support.php')) ?>">Contact Support</a>
@ -155,24 +209,18 @@ $discordUrl = trim((string)website_config('discord_url', ''));
<section class="section">
<div class="container">
<div class="section-heading">
<h2>How it works</h2>
<p>The public site and the control plane are now separated cleanly: the website explains the service, the billing catalog handles order-specific data, and GSP runs the operational lifecycle.</p>
<div class="kicker">Real support</div>
<h2>Talk to people who understand what is under the hood.</h2>
<p>Support is not limited to “restart it and send a ticket. Customers can get help with setup, configuration, mods, Workshop, performance troubleshooting, automation questions, and practical recovery from bad changes.</p>
</div>
<div class="flow-grid">
<article class="flow-step">
<span class="flow-step-number">1</span>
<h3>Choose a server</h3>
<p>Browse the supported game catalog, confirm the available plan, and select a region that matches your community.</p>
<div class="summary-grid">
<article class="summary-card">
<h3>Ordinary hosting is available</h3>
<p>Order a standard server, use the panel, and get practical support without being forced into a custom project.</p>
</article>
<article class="flow-step">
<span class="flow-step-number">2</span>
<h3>Configure it</h3>
<p>Use the GSP panel to set startup parameters, edit configs, install supported content, and keep backups or updates under control.</p>
</article>
<article class="flow-step">
<span class="flow-step-number">3</span>
<h3>Manage through GSP</h3>
<p>Operate the service through the panel for lifecycle, monitoring, logs, file access, and routine administrative work.</p>
<article class="summary-card">
<h3>Custom help is available too</h3>
<p>If you need scripts, integrations, workflow changes, or development help, we can scope that separately and quote it before work begins.</p>
</article>
</div>
</div>
@ -187,11 +235,11 @@ $discordUrl = trim((string)website_config('discord_url', ''));
<div class="panel-preview-stats">
<div class="section-heading">
<h2>GSP control panel</h2>
<p>Customers do not get a fake storefront-only experience. They manage hosted servers through the same GSP platform that handles starts, stops, files, logs, addons, scheduling, and provisioning workflows.</p>
<p>Start, stop, and restart servers. Edit files and configurations. Review logs. Install supported content. Manage Workshop workflows where the game allows it. Schedule tasks, run updates, work with backups, and monitor server state from one place.</p>
</div>
<div class="summary-card">
<h3>Operational access</h3>
<p>Start and stop servers, manage files, inspect logs, update Workshop content, and adjust configuration safely from the panel.</p>
<h3>Built by the same team</h3>
<p>GSP itself is developed and customized by the same engineering team, which means new workflows or modules can be evaluated when a project calls for them.</p>
</div>
<div class="stack-actions">
<a class="button button-primary" href="<?= website_escape(panel_url()) ?>">Open Control Panel</a>
@ -204,22 +252,36 @@ $discordUrl = trim((string)website_config('discord_url', ''));
<section class="section">
<div class="container">
<div class="summary-grid">
<article class="summary-card">
<h3>Documentation and support</h3>
<p>Game-specific docs, panel guidance, and troubleshooting live in the same repo and can be served without depending on billing configuration.</p>
<div class="card-actions">
<a class="button button-secondary" href="<?= website_escape(website_url('docs.php')) ?>">Documentation</a>
<a class="button button-ghost" href="<?= website_escape(website_url('support.php')) ?>">Support</a>
</div>
<div class="section-heading">
<div class="kicker">How custom work operates</div>
<h2>Simple process, scoped before work begins.</h2>
<p>Custom coding and integration work is quoted separately, but the goal is practical, reasonable pricing rather than inflated enterprise consulting rates. No custom work starts without agreement on scope and cost.</p>
</div>
<div class="flow-grid">
<article class="flow-step">
<span class="flow-step-number">1</span>
<h3>Tell us what you want</h3>
<p>Explain the server, the game, the community, and what you want it to do differently.</p>
</article>
<article class="summary-card">
<h3>Panel and login routing</h3>
<p>The Control Panel and Login actions are configuration-driven. The public site no longer assumes a fragile `/panel/` path under the marketing domain.</p>
<div class="card-actions">
<a class="button button-primary" href="<?= website_escape(login_url()) ?>">Login</a>
<a class="button button-secondary" href="<?= website_escape(panel_url()) ?>">Control Panel</a>
</div>
<article class="flow-step">
<span class="flow-step-number">2</span>
<h3>We evaluate the limits</h3>
<p>We review the game, its tools, the operating requirements, and what is practical to build or integrate.</p>
</article>
<article class="flow-step">
<span class="flow-step-number">3</span>
<h3>We scope and price it</h3>
<p>Custom coding, integration, or engineering work is discussed up front before any build work begins.</p>
</article>
<article class="flow-step">
<span class="flow-step-number">4</span>
<h3>We build and deploy</h3>
<p>Once approved, we implement, test, and help deploy the agreed changes.</p>
</article>
<article class="flow-step">
<span class="flow-step-number">5</span>
<h3>We maintain if needed</h3>
<p>Ongoing help can be discussed for communities that need support beyond the initial delivery.</p>
</article>
</div>
</div>
@ -229,12 +291,13 @@ $discordUrl = trim((string)website_config('discord_url', ''));
<div class="container">
<div class="cta-panel">
<div>
<h2>Ready to deploy a server?</h2>
<p>Browse the current game catalog, confirm the right location, and manage the result through GSP.</p>
<h2>Have an idea for your server?</h2>
<p>Whether you need ordinary hosting, a complicated mod setup, or something that has never been packaged into a hosting panel before, tell us what you are trying to build.</p>
</div>
<div class="stack-actions">
<a class="button button-primary" href="<?= website_escape(website_url('serverlist.php')) ?>">View Game Servers</a>
<a class="button button-secondary" href="<?= website_escape(panel_url()) ?>">Open Control Panel</a>
<a class="button button-secondary" href="<?= website_escape($customProjectUrl) ?>">Request Custom Development</a>
<a class="button button-ghost" href="<?= website_escape(website_url('support.php')) ?>">Contact Support</a>
<?php if ($discordUrl !== ''): ?>
<a class="button button-ghost" href="<?= website_escape($discordUrl) ?>" target="_blank" rel="noopener noreferrer">Discord</a>
<?php endif; ?>
@ -242,4 +305,3 @@ $discordUrl = trim((string)website_config('discord_url', ''));
</div>
</div>
</section>