Server account required
Personal gameplay stats are synced when you play on servers with your SCOPENET server account.
No recorded stats yet
Hop into a server through the launcher to begin logging kills, blocks mined, and playtime!
{personalData.username}
Active
Total Playtime
{formatPlaytime(t.playtime_secs)}
Playtime
{formatPlaytime(t.playtime_secs)}
Across all servers
Player Kills
{formatNumber(t.player_kills)}
PvP eliminations
Deaths
{formatNumber(t.deaths)}
K/D: {kd}
Mob Kills
{formatNumber(t.mob_kills)}
Monsters & animals
Blocks Mined
{formatNumber(t.blocks_broken)}
Broken blocks
Blocks Placed
{formatNumber(t.blocks_placed)}
Structures built
Server Joins
{formatNumber(t.joins)}
Sessions played
Chat Messages
{formatNumber(t.messages)}
Messages sent
Server Activity
{#each personalData.servers as s}
{/each}
{s.server_name}
Last played {formatDate(s.last_seen)}
Playtime
{formatPlaytime(s.playtime_secs)}
Kills
{s.player_kills}
Deaths
{s.deaths}
Mined
{formatNumber(s.blocks_broken)}
{#if loadingEconomy && !economyBalances.length}
{:else if !me || me.kind === 'offline'}
{:else}
{#if economyBalances.length === 0}
{#if baltopData.length === 0}
{#if transactions.length === 0}
{/if}
{/if}
{:else}
{#if loadingLeaderboard}
Server account required
In-game economy balances and transactions are synced to your SCOPENET server account.
My Server Balances
Synced in real-time from SCOPENET economy plugins and mods.
No active currency balances found yet. Join a SCOPENET server to start earning money!
{:else}
{#each economyBalances as bal (bal.server_id)}
{/each}
{/if}
Server Rich List (Baltop)
{#if servers.length > 0}
Top richest players on the selected game server.
Server:
{/if}
No baltop entries recorded for this server yet.
{:else}
{#each baltopData as row}
{@const isMe = row.uuid === me?.uuid}
{/each}
{/if}
#{row.rank}
{#if isMe}You{/if}
${row.balance.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
Recent Transactions
Payments, player trades, market listings, and server shop logs.
No recorded economy transactions yet.
{:else}
Type
Description
Date
Amount
{#each transactions.slice(0, 15) as tx (tx.id)}
{@const isSender = tx.from_uuid === me?.uuid}
{#if isSender} Sent{:else} Received{/if}
{tx.description || `${tx.from_name} โ ${tx.to_name}`}
{new Date(tx.created_at).toLocaleString()}
{isSender ? '-' : '+'}${Math.abs(tx.amount).toFixed(2)}
{/each}
No leaderboard entries yet
As players explore, mine, and battle on servers, the rankings will appear here automatically.
{#if top3[1]}
{/if}
2
{top3[1].name}
{statValue(top3[1], sortField)}
{/if}
{#if top3[0]}
๐
1
{top3[0].name}
{statValue(top3[0], sortField)}
{/if}
{#if top3[2]}
3
{top3[2].name}
{statValue(top3[2], sortField)}
{/if}
#
Player
{sortOptions.find(o => o.id === sortField)?.label ?? 'Stat'}
Playtime
PvP Kills
Last Seen
{#each leaderboardData.leaderboard as row, idx (row.uuid)}
{@const isMe = me?.uuid === row.uuid}
{#if idx === 0}๐ฅ{:else if idx === 1}๐ฅ{:else if idx === 2}๐ฅ{:else}{idx + 1}{/if}
{#if isMe}You{/if}
{statValue(row, sortField)}
{formatPlaytime(row.playtime_secs)}
{row.player_kills}
{formatDate(row.last_seen)}
{/each}