FLYFF GURU
Intermediate5 minutes

How to Fix the FlyFF Website Player Count

A broken stored procedure is the most common cause of the website player count showing zero or stuck values. This guide replaces uspChangeMultiServer with the corrected version.

What You'll Learn

  • Which stored procedure controls the displayed player count
  • How to replace it via SQL Server Management Studio
  • Why the procedure must update both ACCOUNT_TBL and ACCOUNT_TBL_DETAIL

What You'll Need

  • SQL Server Management Studio installed
  • sa or equivalent access to CHARACTER_01_DBF
  • A backup of the existing procedure before replacing it

Step-by-Step Guide

  1. Open SQL Server Management Studio and connect to your FlyFF database server.

  2. Expand CHARACTER_01_DBF → Programmability → Stored Procedures and locate dbo.uspChangeMultiServer. Right-click → Modify, and back up the existing definition before changing it.

  3. Replace the procedure body with the corrected SQL below:

    USE [CHARACTER_01_DBF]
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER OFF
    GO
    ALTER PROCEDURE [dbo].[uspChangeMultiServer]
        @pserverindex  char(2),
        @pidPlayer     char(7),
        @pMultiServer  char(1),
        @account       varchar(32) = '',
        @aaa           varchar(32) = '',
        @aab           varchar(32) = ''
    AS
    SET NOCOUNT ON
        UPDATE CHARACTER_TBL SET MultiServer = @pMultiServer WHERE m_idPlayer = @pidPlayer
        SELECT @account = account FROM CHARACTER_TBL WHERE m_idPlayer = @pidPlayer AND serverindex = @pserverindex
        SELECT @aaa = a.m_chLoginAuthority, @aab = c.m_chAuthority
        FROM CHARACTER_TBL c
        LEFT JOIN ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL a ON a.account COLLATE Latin1_General_CI_AS = c.account
        WHERE m_idPlayer = @pidPlayer
    
        SET @aaa = ISNULL(@aaa, 'F')
        SET @aab = ISNULL(@aab, 'F')
    
        IF @aaa <> @aab
        BEGIN
            IF @aaa <> 'F'
            UPDATE CHARACTER_TBL SET m_chAuthority = @aaa WHERE m_idPlayer = @pidPlayer
        END
    
        IF @pMultiServer <> '0'
        BEGIN
            UPDATE ACCOUNT_DBF.dbo.ACCOUNT_TBL        SET isuse = 'J' WHERE account = @account
            UPDATE ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL SET isuse = 'J' WHERE account = @account
        END
        ELSE
        BEGIN
            UPDATE ACCOUNT_DBF.dbo.ACCOUNT_TBL        SET isuse = 'F' WHERE account = @account
            UPDATE ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL SET isuse = 'J' WHERE account = @account
        END
    
        IF @@ROWCOUNT = 0
        BEGIN
            SELECT 9001
            RETURN
        END
    
        SELECT 1
        RETURN
    SET NOCOUNT OFF
  4. Execute the ALTER PROCEDURE script. Have a player log in and out, then check the website — the player count should now reflect actual online players.

Flash Sale! The FlyFF Ultimate 2026 Bundle!

Buy Now Before Our 92% OFF Promo Ends!

Buy now for only $99 for a limited time only! (Regular Price: $599)

Buy Now For only $99
💙 PayPal
💚 GCash
🪙 Crypto

Avail now before the timer runs out:

00
Hours
00
Mins
00
Secs

Related Tutorials