@extends('layouts.minimal') @section('title', 'Loading Server...') @php $steamPlayer = null; $steamApiKey = config_value('steam_apikey'); if (!empty($steamId) && !empty($steamApiKey)) { try { $steam64Id = $steamId; if (preg_match('/^STEAM_[0-5]:[01]:\d+$/', $steamId)) { preg_match('/^STEAM_[0-5]:([01]):(\d+)$/', $steamId, $matches); $steam64Id = bcadd(bcadd(bcmul($matches[2], '2'), $matches[1]), '76561197960265728'); } $apiUrl = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key={$steamApiKey}&steamids={$steam64Id}"; $context = stream_context_create([ 'http' => [ 'timeout' => 5, 'method' => 'GET', 'header' => 'User-Agent: Loading Screen' ] ]); $response = @file_get_contents($apiUrl, false, $context); if ($response !== false) { $data = json_decode($response, true); if (isset($data['response']['players']) && !empty($data['response']['players'])) { $steamPlayer = $data['response']['players'][0]; } } } catch (Exception $e) { // Silently fail error_log('Steam API request failed: ' . $e->getMessage()); $steamPlayer = null; } } $playerName = 'Loading...'; $playerAvatar = asset('images/default-avatar.jpg'); $playerStatus = null; if ($steamPlayer) { $playerName = $steamPlayer['personaname'] ?? 'Unknown Player'; $playerAvatar = $steamPlayer['avatarfull'] ?? $steamPlayer['avatarmedium'] ?? $steamPlayer['avatar'] ?? asset('images/default-avatar.jpg'); if (isset($steamPlayer['personastate'])) { $statusMap = [ 0 => 'Offline', 1 => 'Online', 2 => 'Busy', 3 => 'Away', 4 => 'Snooze', 5 => 'Looking to trade', 6 => 'Looking to play' ]; $playerStatus = $statusMap[$steamPlayer['personastate']] ?? 'Unknown'; } } @endphp @section('content')
background_image) style="background-image: url('{{ asset('storage/' . $settings->background_image) }}');" @endif >
@if($settings->logo) @endif

{{ config_value('site_name') }}

Welcome!
@if($settings->enable_loading_bar)
0%
Connecting to server...
@endif
@php $leftColumnEnabled = $settings->enable_map_info || $settings->enable_community_links; $rightColumnEnabled = $settings->enable_player_info || ($settings->enable_server_info && is_array($settings->server_rules) && count($settings->server_rules) > 0); $gridClass = ''; if ($leftColumnEnabled && $rightColumnEnabled) { $gridClass = 'grid-two-columns'; } else { $gridClass = 'grid-one-column'; } @endphp @if(!$leftColumnEnabled && !$rightColumnEnabled) @endif
@if($leftColumnEnabled)
@if($settings->enable_map_info)

Current Map

{{ $map }}
{{ $map }}
@endif @if($settings->enable_community_links && is_array($settings->community_links) && count($settings->community_links) > 0) @endif
@endif @if($rightColumnEnabled)
@if($settings->enable_player_info)

Player Info

Steam Avatar @if($playerStatus)
@endif
{{ $playerName }}
@if($playerStatus)
Status: {{ $playerStatus }}
@endif
SteamID: {{ $steamId }}
@endif @if($settings->enable_server_info && is_array($settings->server_rules) && count($settings->server_rules) > 0)

Server Rules

    @foreach($settings->server_rules as $rule)
  • {{ $rule }}
  • @endforeach
@endif
@endif
@endsection @section('styles') @endsection @section('scripts') @endsection @php function hexToRgb($hex) { $hex = ltrim($hex, '#'); $r = hexdec(substr($hex, 0, 2)); $g = hexdec(substr($hex, 2, 2)); $b = hexdec(substr($hex, 4, 2)); return "$r,$g,$b"; } function adjustBrightness($hex, $percent) { $hex = ltrim($hex, '#'); $r = hexdec(substr($hex, 0, 2)); $g = hexdec(substr($hex, 2, 2)); $b = hexdec(substr($hex, 4, 2)); $r = max(0, min(255, $r + ($r * $percent / 100))); $g = max(0, min(255, $g + ($g * $percent / 100))); $b = max(0, min(255, $b + ($b * $percent / 100))); return '#' . str_pad(dechex($r), 2, '0', STR_PAD_LEFT) . str_pad(dechex($g), 2, '0', STR_PAD_LEFT) . str_pad(dechex($b), 2, '0', STR_PAD_LEFT); } @endphp