Following Activity
Following Activity es la función de FiveRank que permite a los jugadores ver en tiempo real en qué servidor están jugando ahora mismo las personas a las que siguen.
Es la primera capa social en tiempo real de FiveRank: igual que en Steam o Discord puedes ver qué juegan tus amigos, aquí puedes ver dónde están jugando los creadores, streamers y compañeros de comunidad a los que sigues.
Para el jugador — ¿qué verás?
Cuando entres a FiveRank con la sesión iniciada:
| Lugar | Qué aparece |
|---|---|
| Navbar | Badge verde X amigos jugando (solo si hay alguien) |
| Tu perfil | Sidebar "Tus seguidos jugando ahora" con avatares + servidor |
| Tu perfil | Sidebar "Tendencia entre tus seguidos" — top 5 servidores |
| Perfil de otro usuario | Badge "Jugando en {nombre del servidor}" si te ha dado permiso |
| Ficha del servidor | Widget "Tus seguidos aquí" con avatares de amigos online |
Toda la información se refresca automáticamente cada 60 segundos.
Privacidad — tú decides quién te ve
Desde Panel → Ajustes puedes elegir tu nivel de visibilidad:
| Nivel | Quién ve dónde juegas |
|---|---|
| 🌐 Público | Cualquiera (incluso anónimos sin sesión) |
| 👥 Seguidores (por defecto) | Solo quienes te siguen |
| 🤝 Mutuos | Solo seguimiento recíproco |
| 🚫 Invisible | Nadie. Tu presencia no se muestra en ningún sitio |
Además, puedes activar modo invisible temporal (1 h, 6 h, 24 h, 3 d, 7 d). Cuando expira, vuelve solo a tu configuración normal. Útil si quieres jugar "a solas" un rato sin cambiar tu config permanente.
Aunque tengas el modo Invisible activado, tú mismo ves tu actividad en tu propio panel. Solo se oculta a los demás.
¿Y los jugadores que no tienen cuenta de FiveRank?
No aparecen. Para salir en Following Activity un jugador necesita:
- Tener cuenta en FiveRank con Discord vinculado.
- Estar conectado a un servidor que tenga FR Guard ≥ 1.3.0 con
fiverank_presence "1"(default ON). - No tener su visibilidad en Invisible.
Para el owner — ¿qué tengo que hacer?
Nada. Si tienes FR Guard 1.3.0 o superior instalado, ya está activo por
defecto. Si quieres desactivarlo, añade en tu server.cfg:
set fiverank_presence "0"
Ver detalle en Configuración → fiverank_presence.
¿Qué datos envía mi servidor exactamente?
Cada 30 segundos (junto al heartbeat de métricas), FR Guard envía:
{
"players": 42,
"maxPlayers": 64,
"queue": 3,
"playerList": [
{ "discord": "123456789012345678", "license": "abc...", "steam": "110000..." },
{ "discord": "234567890123456789", "license": "def...", "steam": "110000..." }
]
}
Solo identificadores. Nunca se envían:
- ❌ Nombres en pantalla (display names)
- ❌ IPs
- ❌ Coordenadas / posición en el mapa
- ❌ Inventario / dinero / vehículos
- ❌ Chat / acciones del jugador
El backend de FiveRank cruza el discord con User.discordId y descarta
silenciosamente cualquier identificador que no corresponda a un usuario
registrado.
Arquitectura técnica
sequenceDiagram
participant Guard as FR Guard (Lua)
participant API as FiveRank API
participant DB as MySQL
participant Web as Frontend
Guard->>API: POST /api/guard/metrics/heartbeat<br/>{ playerList: [{discord, license, steam}] }
API->>DB: upsertPresence(serverId, playerList)
Note over DB: ServerPlayerPresence<br/>(serverId, userId, lastSeenAt)
Web->>API: GET /api/presence/following
API->>DB: SELECT respetando<br/>presenceVisibility + invisibleUntil
DB-->>API: rows filtradas
API-->>Web: { rows: [{ user, server, lastSeenAt }] }
Endpoints públicos
| Endpoint | Auth | Devuelve |
|---|---|---|
GET /api/presence/following | ✅ | Tus seguidos jugando ahora |
GET /api/presence/following/count | ✅ | Solo el número (para la navbar) |
GET /api/presence/trending?limit=5 | ✅ | Top servidores entre tus seguidos |
GET /api/presence/user/:userId | opcional | Dónde juega ese usuario (si te lo permite) |
GET /api/presence/server/:serverId/friends | ✅ | Tus seguidos en ese server |
PATCH /api/presence/me | ✅ | Cambia tu visibilidad / modo invisible |
Limpieza automática
Cualquier registro de presencia con lastSeenAt mayor de 2 minutos se
elimina automáticamente por un cron interno que corre cada minuto. Si tu
servidor cae o tu jugador se desconecta, su presencia desaparece de
FiveRank en máximo 2 min — sin que tengas que hacer nada.
Preguntas frecuentes
¿Esto afecta al rendimiento de mi servidor?
No. El payload añade ~30 bytes por jugador conectado. Para un server de 64 slots completo son ~2 KB cada 30 segundos. Imperceptible.
¿Puedo desactivarlo solo para mí como jugador?
Sí. Pon tu visibilidad en Invisible desde tu panel. Nadie verá tu presencia, da igual qué servidor envíe tus datos.
¿Y si soy creador / streamer y quiero que TODOS me vean?
Pon tu visibilidad en 🌐 Público. Hasta los visitantes sin cuenta podrán ver dónde juegas, lo que ayuda a tu comunidad a unirse al mismo server que tú.
¿Qué pasa si el owner del server desactiva fiverank_presence?
No aparecerás en Following Activity mientras juegues ahí, sin importar tu configuración. Si te mueves a otro server con presence activado, vuelves a aparecer normalmente.
¿FiveRank ve mi ubicación dentro del juego?
No. El sistema no usa eventos client-side ni nada del cliente FiveM. Solo
una lista de identificadores que el servidor ya tiene de tus jugadores
conectados (los mismos que ve cualquier admin con /players).