URL: https://linuxfr.org/news/catchchallenger-version-2 Title: CatchChallenger version 2 Authors: alpha_one_x86 ZeroHeure, Benoît Sibaud, Xavier Teyssier, palm123 et tuiu pol Date: 2016年09月14日T20:50:04+02:00 License: CC By-SA Tags: mmorpg, cluster, sql, virtualisation, linux, postgresql et catchchallenger Score: 27 CatchChallenger est un MMORPG, un jeu de rôle massivement multijoueur. Particularité ? il est indépendant, en ligne et **entièrement libre** : licence GPLv3 pour le code, les données (artwork) et le site. La base du jeu est un mélange de différent styles : combat, agriculture, exploration, fabrication, commerce, gestion, compétition. Le travail est concentré sur la jouabilité, les performances et la créativité. ![Une partie de Catch Challenger](http://catchchallenger.first-world.info/screenshot/mix-catchchallenger.png) Cette version totalise plus de _8Mo_ de code, plus de _2500 commits avec 400k de lignes_ sur _cinq ans_ de vie (sur les différentes parties du projet). Le client et le serveur sont développés sous GNU/Linux, puis empaquetés automatiquement pour MacOSX et Windows. ---- [Site de CatchChallenger](http://catchchallenger.first-world.info/) [Wiki](http://catchchallenger.first-world.info/wiki/Main_Page) [Contenu des serveurs](http://catchchallenger.first-world.info/official-server/datapack-explorer.html) ---- Les systèmes de jeu =========================== Les joueurs peuvent interagir comme pour n'importe quel MMORPG, c'est à dire parler, échanger ou vendre des objets, combattre et constituer des équipes. Les PNJ, personnages non joueurs, viennent mettre de l'ambiance : ils peuvent mener des quêtes, vendre, acheter, stocker, combattre... Le système de quêtes est basé sur du texte (très proche du jeu Lineage), on doit combattre, apporter des objets, parler à des PNJ, gagner en réputation ou terminer des quêtes. Cela permet d'obtenir des récompenses tel que de la réputation, des items, ou l'accès à d'autres zones. Le système d'expérience est basé sur les combats gagnés. Il y a un système de compétences qui permet d'apprendre des compétences ou d'améliorer les niveaux de celles déjà acquises. Ce système de points de compétences peut être désactivé coté serveur. Le système de pillage est assez simple : à la fin de chaque combat, on a x % de chance de recevoir x à y objet(s). Enfin, il y a un système de culture de plantes et de fabrication ; une économie très évoluée, type X3 (industrie, cycle de fabrication). Depuis la dernière version =========================== Le serveur et le code commun ont été réécrits en C++11 pour assurer une meilleure longévité du projet. Ça ouvre aussi la porte à plus de contributeurs. Et en bonus, ça améliore les performances! Le multi-serveur a été le plus compliqué à revoir, car la base de données et le _datapack_ ont été restructurés en arbre. Le _datapack_ supporte une carte et une histoire par serveur, et des variations. Le mode cluster a été ajouté, il permet d'avoir un groupe de serveurs à travers le monde. La mise à l'échelle sur 200 serveurs ne cause pas le moindre problème. Un certain nombre de points pour la haute disponibilité semble avoir été résolu. Divers outils sont apparus tels que les statistiques des serveurs en temps réel, ainsi que d'autres outils pour gérer un cluster dont la supervision pour connaitre en temps réel les problèmes sur le réseau. Le site continue d'évoluer en utilisant une représentation intermédiaire des informations pour l'export en HTML ou vers Mediawiki. La stabilité est meilleure grâce à une batterie de tests qui sont exécutés avant la mise en production. Le sous-projet Gateway permet l'accès à un serveur sous Tor/I2P depuis l'internet classique afin de rendre le site plus accessible depuis des zones où le réseau est filtré/censuré. La base de données n'exploite plus uniquement le SQL, mais supporte aussi le NoSQL. Les bases officiellement supportées sont MySQL/MariaDB, Percona, PostgreSQL, SQLite. Le projet est toujours à la recherche d'aide pour le client : - **un développeur Html5/Websocket/WebGL** Diverses améliorations sur le gameplay telles que l'encyclopédie, pas mal de retouches de l'interface. Les sous projets =========================== Il existe un [projet de diplôme et formation en ligne](http://catchchallenger.first-world.info/diploma/alpha_one_x86.png) afin de former des personnes sur le projet et potentiellement les embaucher. Système de machine virtuelles, inclus sur le GPU pour avoir 4096 VM par GPU (dérive des travaux de gestion de couche TCP et SSL via GPGPU). Et diverses choses autour de l'administration système. Divers formats et protocoles pour montrer le savoir faire dans ce projet (format pour maximiser la compression avec des formats existant tel que zlib, xz, lz4). La manière de standardiser vos formats. Les projets hautes performances (exploitation de très nombreux cœurs, SIMD, ...) et divers benchmarks sur x86 (out of order) et ARMv6/v7/v8 (in order) pour varier les différents comportements et lenteurs potentielles. Et le changement nécessaire dans divers OS (surtout Linux) pour maximiser les performances. Datacenter personnel (http://catchchallenger.first-world.info/wiki/Portable_datacenter) utiliser comme préproduction et les problèmes et solutions potentielles pour les pays en voie de développements tel que la Bolivie. Le datapack, il permet de modifier le contenu du jeu, crée vos cartes, votre propre jeu. Le futur ========= La version 2 vient de sortir. Je vais donc prendre un an pour essayer de stabiliser tout cela avant de commencer d'autres parties. ### Pour l'utilisateur final Client plus évolué. ### Changement interne Suppression du point unique de défaillance (Single Point of Failure ou SPoF en anglais) avec la mise en place d'un cœur P2P, et un certain nombre d’expérience sur les données semi-structurées à grande échelle. ### Les serveurs De meilleurs bots pour jouer à votre place sur les serveurs dédiés. ### Fonds Le projet étant réalisé de manière professionnelle et par des professionnels, soumis à l'impôt et encadré par une entreprise, **il a besoin de fonds**. La version 2 **qui est en vente actuellement** en bitcoin, Paypal, sur le nextcoin market. Le code, même vendu, est sous GPL3.

AltStyle によって変換されたページ (->オリジナル) /