Skip to main content

Player Profiles

Your player profile is your identity on 5Stack. It displays your statistics, match history, team affiliations, and achievements.

Profile Overview

Every player profile includes:

Basic Information

Steam name, avatar, Steam ID, country, and current role

Statistics

Wins, losses, K/D ratio, ELO rating, and performance metrics

Match History

Recent matches with scores, dates, and ELO changes

Team Affiliations

All teams you’re a member of

Viewing Profiles

Your Own Profile

Access your profile through:
  • The Profile link in the navigation menu
  • Clicking your avatar in the top right
  • Navigating to /me

Other Players’ Profiles

View any player’s profile by:
  • Clicking their name in match lobbies
  • Searching for them in the players list
  • Clicking their name in leaderboards
  • Navigating to /players/{steam_id}

Profile Statistics

Your profile displays comprehensive statistics tracked across all matches.

Win/Loss Record

Your win percentage is calculated as:
// From players/[id].vue:648-654
winPercentage() {
  const total = (this.player?.wins || 0) + (this.player?.losses || 0);
  if (!this.player) {
    return 0;
  }
  return total > 0 ? ((this.player?.wins || 0) / total) * 100 : 0;
}
The win rate is displayed as a radial chart with color coding:
  • Green: 50% or higher
  • Red: Below 50%

Combat Statistics

Detailed performance metrics tracked per match:
// Calculate K/D ratio
kd() {
  if (!this.player?.stats) {
    return 0;
  }
  
  if (this.player?.stats?.deaths === 0) {
    return this.player?.stats.kills;
  }
  return formatStatValue(
    this.player?.stats.kills / this.player?.stats.deaths
  );
}

Weapon Statistics

Your profile shows your top 5 weapons by kill count:
kills_by_weapons: [
  {
    order_by: [{ kill_count: desc }],
    limit: 5
  },
  {
    with: true,
    kill_count: true
  }
]
Weapon kills are displayed with:
  • Weapon icon/image
  • Total kill count
  • Hover effects for detail

ELO Rating System

Your ELO rating represents your skill level and changes based on match performance.

How ELO Works

1

Starting ELO

New players begin at a default ELO rating (typically 1000)
2

Match Results

Win matches to gain ELO, lose matches to lose ELO
3

Opponent Strength

Beating higher-rated opponents yields more ELO gain
4

Performance

Individual performance can affect ELO changes

ELO History Chart

Your profile displays an ELO progression chart showing your rating over your last 10 competitive matches:
elo_history: [
  {
    limit: 10,
    where: {
      type: { _eq: "Competitive" },
      match: {
        winning_lineup_id: { _is_null: false }
      }
    },
    order_by: [{ match_created_at: desc }]
  },
  eloFields
]
ELO is tracked separately for each match type (Competitive, Wingman, Duel). Your profile shows your primary competitive ELO.

Recent Performance

The Recent Wins and Losses chart visualizes your last 10 matches:
  • Green bars: Wins
  • Red bars: Losses
  • Height: Relative performance in that match
This gives a quick visual indication of your recent form.

Team Affiliations

If you’re a member of any teams, they’re displayed on your profile:
<div v-if="player?.teams && player.teams.length > 0">
  <NuxtLink
    v-for="team in player.teams"
    :to="`/teams/${team.id}`"
    class="team-badge"
  >
    {{ team.name }}
    <span v-if="team.short_name">{{ team.short_name }}</span>
  </NuxtLink>
</div>
Each team badge shows:
  • Team name
  • Team tag/short name (if set)
  • Links to the team page

Match History

Your profile displays a paginated list of all matches you’ve participated in.

Match List Features

Each match row shows:
  • Match type (Competitive, Wingman, Duel)
  • Match date
  • Final score
  • Your team’s lineup
  • Opponent’s lineup
  • ELO change (+/- from the match)

Viewing Match Details

Click any match to view:
  • Round-by-round breakdown
  • Individual player statistics
  • Demo download (if available)
  • Match timeline and events

Tournament History

Switch to the Tournaments tab to see:
  • Tournaments you’ve participated in
  • Your placement/results
  • Tournament dates and formats
  • Links to tournament brackets
tournaments: [
  {
    limit: 10,
    where: {
      rosters: {
        player_steam_id: { _eq: $steam_id }
      }
    },
    order_by: [{ start: desc }]
  },
  simpleTournamentFields
]

Profile Actions

For Your Own Profile

When viewing your profile, you can:

Play a Match

Quick link to join matchmaking or create a match

Edit Settings

Update your preferences and notifications

For Other Players’ Profiles

When viewing another player’s profile, you can:

Add Friend

Send a friend request to connect

Invite to Lobby

Invite them to your match lobby

View Steam Profile

Open their Steam profile in a new tab

Admin Actions

Match Organizers and above can perform moderation actions:
Moderator Actions (requires Match Organizer role or higher)
  • Change Name: Modify player’s display name
  • Apply Sanctions: Issue warnings, cooldowns, or bans
  • Update Role: Change player’s permission level
  • View Sanctions: See sanction history
// Role check from players/[id].vue:674-682
canSanction() {
  if (!this.me || !this.player) {
    return false;
  }
  return (
    this.player.steam_id !== this.me.steam_id &&
    useAuthStore().isRoleAbove(e_player_roles_enum.match_organizer)
  );
}

Profile Customization

Display Name

Your display name is synced from Steam but can be overridden by administrators if needed.

Avatar

Your avatar is automatically synced from your Steam profile. To change it:
  1. Update your Steam avatar
  2. Wait for the next profile sync (usually within minutes)

Country Flag

Your country flag is detected from your Steam profile’s configured location.

Privacy

5Stack profiles are public by default. All statistics, match history, and team affiliations are visible to other users.

What’s Public

  • Display name and avatar
  • Statistics and ratings
  • Match history
  • Team memberships
  • Tournament participation

What’s Private

  • Your email address
  • Your Steam account credentials
  • Private messages
  • Admin/moderation notes

Profile Tips

  • Play consistently to establish accurate ELO
  • Focus on teamwork and communication
  • Learn from match replays
  • Practice aim and game sense
  • Be a good teammate
  • Communicate effectively
  • Show sportsmanship
  • Help new players
  • Check your ELO chart regularly
  • Review recent match performance
  • Identify areas for improvement
  • Set personal goals

Next Steps

Matchmaking

Queue for competitive matches

Teams

Join or create a team

Statistics

View global leaderboards

Build docs developers (and LLMs) love