Panel/Panel/modules/website/pages/home.php
2026-06-18 15:16:45 -05:00

150 lines
8.5 KiB
PHP

<?php
declare(strict_types=1);
$discordUrl = trim((string)website_config('discord_url', ''));
$customProjectUrl = website_custom_project_url();
$pricing = website_config('pricing', []);
$platform = website_config('platform', []);
$standardSlotStart = (float)($pricing['standard_slot_start'] ?? 0.50);
$legacyMonthlyStart = (float)($pricing['legacy_monthly_start'] ?? 4.00);
$standardMinSlots = (int)($pricing['standard_min_slots'] ?? 16);
$pricingDisclaimer = trim((string)($pricing['disclaimer'] ?? 'Actual prices are reflected on each server order page.'));
$customWorkNote = trim((string)($pricing['custom_work_note'] ?? 'Custom development and complex integration work are quoted separately.'));
$fixedCapNote = trim((string)($pricing['fixed_cap_note'] ?? 'Some fixed-cap or small co-op games use different slot limits.'));
$platformCapacityNote = trim((string)($platform['capacity_note'] ?? 'We actively monitor host capacity and avoid overcrowding servers onto overloaded machines.'));
$popularGames = ['Arma 3', 'DayZ', 'CS 1.6', 'TF2', 'Garry\'s Mod', 'Rust', 'Valheim'];
$locationSummary = ['USA East', 'USA Central', 'USA West', 'Europe'];
?>
<section class="hero">
<div class="container hero-layout">
<div>
<div class="eyebrow">Game hosting backed by developers</div>
<h1>Game Hosting Backed by Developers</h1>
<p>Launch a standard server for a modern or legacy game, or work with Runlevel Systems developers when your community needs mods, automation, integrations, or a setup that does not fit a stock 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($customProjectUrl) ?>">Discuss a Custom Server</a>
</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>We host it. We can help build it.</strong>
<p>Standard hosting is available, and unusual server requirements can be reviewed with developers and infrastructure specialists.</p>
</div>
</div>
</div>
</section>
<section class="section">
<div class="container">
<div class="section-heading">
<div class="kicker">Why use us</div>
<h2>Focused hosting for communities that want control.</h2>
</div>
<div class="feature-grid feature-grid-three">
<article class="feature-card">
<h3>Developer-backed hosting</h3>
<p>Gameservers.World is backed by Runlevel Systems engineers who understand game servers, automation, mods, infrastructure, and custom tools.</p>
</article>
<article class="feature-card">
<h3>Legacy games welcome</h3>
<p>Older multiplayer communities and community-maintained games are still worth hosting, especially when they need careful setup or migration help.</p>
</article>
<article class="feature-card">
<h3>Never-oversold capacity</h3>
<p><?= website_escape($platformCapacityNote) ?></p>
</article>
</div>
</div>
</section>
<section class="section">
<div class="container">
<div class="section-heading">
<div class="kicker">Legacy and popular servers</div>
<h2>Current, classic, and community favorites can fit here.</h2>
<p>We support standard game hosting while also helping communities keep older multiplayer titles alive.</p>
</div>
<div class="tag-list" aria-label="Example supported game server types">
<?php foreach ($popularGames as $game): ?>
<span><?= website_escape($game) ?></span>
<?php endforeach; ?>
</div>
<?php if (!empty($services)): ?>
<div class="service-grid service-grid-compact">
<?php foreach ($services as $service): ?>
<?php
$serviceName = website_service_name($service);
$platformLabel = website_service_platform($service);
$price = (float)($service['price_monthly'] ?? 0);
$orderUrl = website_order_url((string)$service['service_id']);
?>
<article class="service-card">
<img src="<?= website_escape(website_service_image_url((string)($service['img_url'] ?? ''))) ?>" alt="<?= website_escape($serviceName) ?>">
<header>
<h3><?= website_escape($serviceName) ?></h3>
<div class="service-meta">Platform: <?= website_escape($platformLabel) ?></div>
<div class="service-price"><?= $price > 0 ? '$' . number_format($price, 2) . ' / month' : 'See order page' ?></div>
</header>
<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>
</div>
</article>
<?php endforeach; ?>
</div>
<?php endif; ?>
</div>
</section>
<section class="section">
<div class="container">
<div class="summary-grid">
<article class="summary-card">
<div class="kicker">Pricing summary</div>
<h3>Flexible hosting for different communities.</h3>
<p>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.</p>
<p>Selected lightweight legacy servers may start around $<?= website_escape(number_format($legacyMonthlyStart, 2)) ?> per month. <?= website_escape($fixedCapNote) ?></p>
<p><?= website_escape($customWorkNote) ?></p>
<div class="card-actions">
<a class="button button-primary" href="<?= website_escape(website_url('serverlist.php')) ?>">View Game Servers</a>
</div>
</article>
<article class="summary-card">
<div class="kicker">Locations</div>
<h3>Hosting locations for your players.</h3>
<p>Select from available regions in the United States and Europe when you configure a server. Availability can vary by game and current capacity.</p>
<div class="tag-list tag-list-small" aria-label="Hosting region summary">
<?php foreach ($locationSummary as $locationName): ?>
<span><?= website_escape($locationName) ?></span>
<?php endforeach; ?>
</div>
<div class="card-actions">
<a class="button button-secondary" href="<?= website_escape(website_url('locations.php')) ?>">View Locations</a>
</div>
</article>
</div>
</div>
</section>
<section class="cta-band">
<div class="container">
<div class="cta-panel">
<div>
<h2>Have an idea for your server?</h2>
<p>Whether you need ordinary hosting, a legacy multiplayer server, 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($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; ?>
</div>
</div>
</div>
</section>