Eu estava com o mesmo problema em um Gesior, descobri que o motivo era porque o jogo interpretava a coluna Deletion e não a Deleted para definir se o player está deletado ou não.
OU SEJA, SÓ FUNCIONARÁ SE VOCÊ FOR NA TABELA PLAYERS, COLOCAR DELETION = 1 E NÃO APARECER O CHARACTER NA LISTA DO JOGO.
Como não sei mudar isso (qual coluna o jogo deveria ler para definir se o player está deletado ou não).
No meu accountmanager.php, ele definia deleted = 1 quando o character era deletado e deleted = 0 quanto estava normal.
E todo o sistema de character.php, accountmanager.php usava isso como parâmetro (o deleted).
Por isso, para não ficar muito complicado, eu fiz isso para ajeitar:
No meu accountmanager.php tem essa parte
Eu adicionei essa linha embaixo do $player->set('deleted', 1);
e assim ficando:
fazendo o mesmo, só que com valor diferente, no undelet.
Antes era:
só deixar:
Após isso, funcionou de boas.