Bonsoir,
il s'agit du while qui pose problème (ligne 34)
while {link::*} doesn't contain {_code}:
Au passage, vous avez sans doute mal interprété la condition (si l'objectif est d'obtenir un code n'existant pas déjà, à moins d'avoir une liste avec tous les codes possibles, la boucle sera exécutée plusieurs fois (dans votre cas, une infinité) -> ceci entrainant un crash du serveur.
Pour revenir au problème principal, utilisez un effet de delay dans votre boucle afin d'éviter que celle-ci ne soit trop rapide par rapport à l'affectation.
i.e.
while [CONDITION CORRECTE A REMPLACER ICI]:
|...
|...
|...
|wait a tick
add {_code} to {link::*}
destroyKey({_code})
#Ce délai implique évidement une impossibilité d'utiliser un return, adaptez donc votre code.