@extends('layouts.app') @section('title','Validação competitiva - GIGAX ARENA') @section('page_title','Validação competitiva') @php $crossfire = $verification['crossfire'] ?? []; $discord = $verification['discord'] ?? []; $teamspeak = $verification['teamspeak'] ?? []; $linkedAccounts = $verification['linked_accounts'] ?? []; $isComplete = !empty($verification['is_complete']); $crossfireOk = !empty($crossfire['verified']); $discordOk = !empty($discord['verified']); $teamspeakOk = !empty($teamspeak['verified']); $completedCount = collect([ $crossfireOk, $discordOk, $teamspeakOk, ])->filter()->count(); $progressPercent = (int) round(($completedCount / 3) * 100); $validationRequired = $validationRequired ?? true; /* |-------------------------------------------------------------------------- | Identidade usada no TeamSpeak |-------------------------------------------------------------------------- | Preferência: nickname do Discord vinculado/verificado. | Fallback: ID GIGAX numérico. Não usa nickname GIGAX como fallback. */ $discordNickname = trim((string) ($discord['username'] ?? '')); $gigaxIdText = trim((string) (auth()->id() ?? '')); $teamspeakLoginNickname = ($discordOk && $discordNickname !== '') ? $discordNickname : $gigaxIdText; if ($teamspeakLoginNickname === '') { $teamspeakLoginNickname = '0'; } /* |-------------------------------------------------------------------------- | TeamSpeak 3 - conexão direta com nickname Discord / fallback ID GIGAX |-------------------------------------------------------------------------- */ $tsHost = trim((string) ( config('teamspeak.host') ?: config('services.teamspeak.host') ?: env('TEAMSPEAK_HOST') ?: env('TS3_HOST') ?: '' )); $tsPort = (int) ( config('teamspeak.server_port') ?: config('services.teamspeak.port') ?: env('TEAMSPEAK_PORT') ?: env('TS3_SERVER_PORT') ?: 2027 ); if ($tsPort <= 0) { $tsPort = 2027; } $tsQuery = [ 'port' => $tsPort, 'nickname' => $teamspeakLoginNickname, ]; $tsConnectUrl = $tsHost !== '' ? 'ts3server://' . $tsHost . '?' . http_build_query($tsQuery, '', '&', PHP_QUERY_RFC3986) : '#'; // Link alternativo usa os mesmos dados; evita cair no nickname local antigo (ex.: Ronaldo). $tsConnectUrlAlt = $tsConnectUrl; $tsManualAddress = $tsHost !== '' ? $tsHost . ':' . $tsPort : ''; @endphp @push('styles') @endpush @section('content')
@if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif @if($errors->any())
{{ $errors->first() }}
@endif
{{ $validationRequired ? 'VALIDAR: ON - Validação obrigatória' : 'TESTE LIVRE - Validação desativada' }} {{ $validationRequired ? 'JOGAR AGORA só libera com 3/3 concluído.' : 'JOGAR AGORA está liberado sem exigir validação.' }}
{{ $validationRequired ? '3 ETAPAS' : 'LIVRE' }}
GIGAX ARENA

Validação competitiva

Faça os 3 passos uma única vez. Depois o JOGAR AGORA reconhece sua conta automaticamente.

Dashboard
COMECE AQUI

Valide na ordem: Discord → TeamSpeak → CrossFire IGN

Faça uma etapa por vez. Quando ela ficar verde, avance para a próxima. Ao concluir 3/3, JOGAR AGORA será liberado automaticamente.

{{ $completedCount }}/3 concluído
1Discord{{ $discordOk?'CONCLUÍDO':'COMECE AQUI' }}

Entre com Discord. O nickname capturado será usado no TeamSpeak.

2TeamSpeak 3{{ $teamspeakOk?'CONCLUÍDO':'PASSO 2' }}

Entre com {{ $teamspeakLoginNickname }}. Depois volte ao site e capture o UID.

3CrossFire • IGN{{ $crossfireOk?'CONCLUÍDO':'ÚLTIMO PASSO' }}

Cole a URL do perfil Z8/CrossFire para confirmar seu IGN.

DISCORD{{ $discord['username']??'Pendente' }}{{ $discordOk?'Verificado':'Conecte primeiro' }}
TEAMSPEAK{{ $teamspeak['nickname']??$teamspeakLoginNickname }}{{ $teamspeakOk?'UID confirmado':'Use '.$teamspeakLoginNickname }}
CROSSFIRE • IGN{{ $crossfire['crossfire_nickname'] ?? $crossfire['primary_nickname'] ?? 'Pendente' }}{{ $crossfireOk?'IGN confirmado':'Informe a URL' }}
SECUNDÁRIAS{{ count($crossfire['secondary_accounts']??[]) }}Conta(s) vinculada(s)
PROGRESSO DA VALIDAÇÃO{{ $completedCount }}/3 • {{ $progressPercent }}%
{{ $isComplete?'CONTA PRONTA PARA COMPETIR':'Complete as etapas pendentes' }}
PASSO 1 • PRIMEIRODiscord
{{ $discordOk?'DISCORD VERIFICADO':'DISCORD PENDENTE' }}
1
Clique em Entrar com DiscordAutorize sua conta normal do Discord.
2
Volte automaticamenteO site salva seu nickname do Discord para o passo do TeamSpeak.
Conta: {{ $discord['username'] ?? 'Nenhuma conta vinculada' }}
{{ $discordOk?'Reconectar Discord':'Entrar com Discord' }}
Depois de vinculado, o Discord continua associado ao mesmo usuário GIGAX mesmo entrando por e-mail ou Google.
PASSO 2TeamSpeak - UID automático
{{ $teamspeakOk?'TEAMSPEAK VERIFICADO':'UID PENDENTE' }}
1
Baixe/instale o TeamSpeak 3Use o botão de download abaixo se ainda não tiver.
2
Entre com este nome{{ $teamspeakLoginNickname }} — Discord primeiro, ID GIGAX como fallback.
3
Volte ao siteMantenha o TS3 aberto e clique em Capturar UID.
↓ BAIXAR TEAMSPEAK 3 PARA WINDOWS
NOME PARA USAR NO TEAMSPEAK{{ $teamspeakLoginNickname }}
Servidor: GIGAX CONEXÃO DIRETA
@csrf
IMPORTANTE: o TS3 precisa estar aberto e conectado como {{ $teamspeakLoginNickname }}. Depois volte para esta página e capture o UID.
OU USE O UID MANUAL
@csrf
No TeamSpeak 3: Ferramentas → Identidades → selecione sua identidade → copie o Unique ID. Para validar manualmente, mantenha essa identidade conectada ao servidor.
PASSO 3 • IGNCrossFire / Z8 • Confirmar IGN
{{ $crossfireOk?'PRINCIPAL CONFIRMADA':'URL NECESSÁRIA' }}
@csrf
URL do perfil principal
Contas secundárias opcionais: uma URL por linha.
JOGAR AGORA
{{ $isComplete ? 'Validação concluída. A fila está liberada.' : ($validationRequired ? 'Finalize as etapas para liberar a fila.' : 'TESTE LIVRE ativo. A fila está liberada.') }}
@if($isComplete || !$validationRequired) @else @endif
SISTEMA ANTI-MULTI-CONTA

CrossFire, Discord e TeamSpeak formam os vínculos usados pelo sistema anti-multi-conta.

@forelse($linkedAccounts as $linked){{ $linked->nickname }}@if(($linked->status??'active')!=='active') • {{ strtoupper($linked->status) }}@endif@emptyNenhuma conta vinculada até o momento.@endforelse
@endsection @push('scripts') @endpush