Eternaltwin

2021-10 : Ce mois-ci sur Eternaltwin n°1

Eternaltwin est un projet visant à préserver les jeux et communautés de joueurs de la Motion Twin.

Lancement de CMCSET (TMIET)

Eternaltwin est un grand projet avec plus d'une cinquantaine de volontaires travaillant dans une dizaine d'équipes et ayant déjà publié de nombreux jeux au travers de plus de 500 000 lignes de code !

Comme pour chaque grand projet, il peut être difficile de suivre tout ce qui se passe. Ce mois-ci sur Eternaltwin (CMCET, This Month In Eternaltwin (TMIET)) est une nouvelle série d'articles pour vous donner des nouvelles sur le projet chaque mois.

Ce premier article se concentre sur le site principal, mais nous aimerions également vous donner des nouvelles sur les jeux. Nous aimerions que ces articles soient un effort avant tout géré par la communauté. Vous pouvez envoyer du contenu pour la prochaine édition sur ce ticket, aussi bien les contributeurs que les simples joueurs sont invités à partager du contenu.

Migration en Rust

La toute première ligne d'Eternaltwin a été écrite le 30 mars 2020. Le code était initialement basé sur un projet précédent : Eternalfest. Utiliser une base de code plus ancienne nous a permis de démarrer plus rapidement, mais ça a aussi impliqué d'hériter de problèmes techniques. Ce projet utilisait un serveur Node.js et le langage TypeScript. Il avait tendance à ralentir au fil du temps suite à des fuites de mémoire, jusqu'à ne plus répondre. Il était également dur de fournir des messages d'erreur utiles à cause du faible système de suivi des erreurs de TypeScript.

Le grand thème de 2021 a donc été de résoudre ces problèmes en nettoyant le code. Plus exactement, nous avons progressivement réécrit les composants serveur en utilisant le langage Rust. Rust est un langage moderne haute-performance avec un des écosystèmes les plus avancés de nos jours. Aujourd'hui, cette longue réécriture touche à sa fin. Seul le composant "forum" utilise le vieux code TypeScript, tous les autres composants ont été réécrits et les nouveaux composants sont directement écrits en Rust : gestion d'utilisateurs, authentification, archives, extraction de données, liaisons de comptes, etc.

Les nouveaux composants ont été migrés progressivement : ils ont été activés un par un au cours de l'année. De manière générale, cette migration est un succès : il n'y a pas eu de panne causée par la réécriture et la stabilité des serveurs a augmenté. Maintenant que la migration est presque finie, les prochaines étapes seront de fournir de meilleurs messages d'erreur et simplifier la gestion des utilisateurs : inscription, authentification et liaison de comptes.

Si vous souhaitez aider à finir cette transition et améliorer la gestion des utilisateurs, veuillez contacter Demurgos#8218 sur Discord : toute aide est la bienvenue.

Il est temps d'officialiser ça

Le statut officiel du projet est actuellement un peu flou. Nous sommes un groupe sur Internet. Ce genre de statut informel suffisait au début quand on ne faisait que commencer. Nous avions des problèmes plus urgents et ne nous connaissions pas encore assez.

Mais les choses ont changé. Comme mentionné ci-dessus, Eternaltwin est maintenant un gros projet. Nous avons aussi reçu plus de dons qu'escompté, et nous sentons que plus de contrôle sur ces fonds est nécessaire. Il serait bon d'avoir un statut officiel. L'idée est souvent revenue sur le serveur Discord, mais il était difficile de trouver le temps pour s'en occuper. Le bon moment est arrivé.

Nous avons décidé de former une association pour Eternaltwin. Nous avons contacté les contributeurs principaux et discutons actuellement des détails de fonctionnement de l'association. Le brouillon actuel prévoit un bureau (président, trésorier et secrétaire) et un groupe de travail avec les chefs de projet. Les décisions seraient prises par le bureau et des représentants des membres. Nous vous tiendrons au courant de l'avancement.

Au sujet du nom

Est-ce Eternal Twin, Eternal-twin, Eternal-Twin, Eternaltwin ou EternalTwin ?

C'est un point mineur certes, mais c'est gênant qu'il ne soit pas clair quel est le vrai nom du projet. C'est d'autant pire que nous voulons nous enregistrer en tant qu'association.

Histoire de régler les choses une fois pour toutes : le nom officiel est "Eternaltwin", sans espace ou tiret.

À cause de la confusion initiale, il y a de nombreux endroits où le projet est orthographié différemment. Nous essayons de corriger l'orthographe en "Eternaltwin" : faites-nous savoir si vous trouvez une version erronée.

Quand un identifiant est requis pour un projet, préférez les identifiants suivants :

  1. eternaltwin
  2. eternal_twin
  3. eternal-twin

Nous allons progressivement mettre à jour le nom de domaine, groupe GitLab ou nos paquets logiciels pour respecter cette règle ; mais nous ferons attention à éviter toute casse.