local result        = {}
local matchId       = ARGV[1]
local lstWinners    = {}
local lstUsers      = {}    
local lstforfeit      = {}

local player1Score = tonumber(redis.call("HGET", "BATTLES:MATCH:{" .. matchId .. "}:1","score"))
local player2Score = tonumber(redis.call("HGET", "BATTLES:MATCH:{" .. matchId .. "}:2","score"))

local player1Forfeit = tonumber(redis.call("HGET", "BATTLES:MATCH:{" .. matchId .. "}:1","FORFEIT"))
local player2Forfeit = tonumber(redis.call("HGET", "BATTLES:MATCH:{" .. matchId .. "}:2","FORFEIT"))

local player1Id    = redis.call("HGET", "BATTLES:MATCH:{" .. matchId .. "}:1","userId")
local player2Id    = redis.call("HGET", "BATTLES:MATCH:{" .. matchId .. "}:2","userId")

if(player1Forfeit == 1) then
    table.insert( lstWinners, player2Id )
    table.insert( result,lstWinners )
elseif(player2Forfeit == 1) then
    table.insert( lstWinners, player1Id )
    table.insert( result,lstWinners )
elseif(player1Score > player2Score) then
    table.insert( lstWinners, player1Id )
    table.insert( result,lstWinners )
elseif player1Score < player2Score then
    table.insert( lstWinners, player2Id )
    table.insert( result,lstWinners )
else
    table.insert( lstWinners, player2Id )
    table.insert( lstWinners, player1Id )
    table.insert( result,lstWinners )
end 

    table.insert( result, player1Id)
    table.insert( result, player2Id )

    table.insert( result, player1Score)
    table.insert( result, player2Score )

    table.insert( lstUsers,player1Id)
    table.insert( lstUsers,player2Id)

    table.insert( result, lstUsers )

    local forfeit = {}
    table.insert( forfeit, player1Id )
    table.insert( forfeit, player1Forfeit )
    table.insert( lstforfeit,forfeit )

    forfeit = {}
    table.insert( forfeit, player2Id )
    table.insert( forfeit, player2Forfeit )
    table.insert( lstforfeit,forfeit )

    table.insert( result,lstforfeit )

return result

