VERSION 0.1.0 · ALPHA JOUABLE
RITACO
Les îles oubliées — jeu de pirates multijoueur sur navigateur.
Ce que contient cette livraison. Un jeu web original avec des personnages et animations issus de ressources publiques de Tales of Pirates / PKO : trois classes, trois zones, combats, boss, quêtes, boutique, équipement, apparences, chat, classement et administration. Le moteur C++ original n’a pas été porté. Ce n’est pas la totalité du MMORPG original.
1. Préparer Namecheap
- Dans cPanel, sélectionnez PHP 8.2 ou 8.3. Les extensions PDO et pdo_mysql doivent être activées. La base doit utiliser MySQL 5.7+ ou MariaDB 10.3+, avec InnoDB.
- Activez le certificat SSL de votre domaine ou sous-domaine. Utilisez le lien en HTTPS.
- Dans MySQL Databases / « Manage My Databases », créez une base et un utilisateur. Ajoutez l’utilisateur à la base avec ALL PRIVILEGES. Notez les noms complets avec le préfixe cPanel, par exemple
compte_ritaco. - Dans File Manager, ouvrez le dossier du domaine : généralement
public_html/ritaco/ pour votredomaine.com/ritaco/, ou la racine du sous-domaine dédié. Téléversez le ZIP et choisissez Extract. index.html, api.php et setup.php doivent être directement dans ce dossier.
2. Configurer le jeu
Copiez config.example.php en config.php. Cela signifie créer une copie portant exactement ce nom, puis modifier son contenu. Ne laissez pas le nom config.php.php.
Renseignez les quatre informations MySQL et une clé d’installation :
<?php
return [
'db_host' => 'localhost',
'db_name' => 'VOTRE_PREFIXE_ritaco',
'db_user' => 'VOTRE_PREFIXE_utilisateur',
'db_pass' => 'VOTRE_MOT_DE_PASSE_MYSQL',
'setup_key' => 'VOTRE_CLE_ALEATOIRE',
'registration_open' => true,
'poll_ms' => 1500,
];Générez une clé personnelle de 32 caractères. Copiez-la dans setup_key et gardez-la pour l’étape suivante.
Votre clé s’affichera ici.
Ne partagez pas vos accès MySQL et ne les ajoutez pas dans les fichiers JavaScript.
3. Installer et créer le compte GM
- Ouvrez
https://votredomaine.com/ritaco/setup.php (adaptez le chemin à votre dossier). - Saisissez la clé enregistrée dans
config.php, choisissez votre identifiant administrateur et un mot de passe de 12 à 72 caractères. - Cliquez sur Installer Ritaco. Attendez le message confirmant la création du compte.
- Supprimez
setup.php et le ZIP du serveur avec File Manager. - Ouvrez le jeu et connectez-vous avec le compte créé. Pour l’administration, ouvrez
admin.php dans le même dossier et le même navigateur.
Il n’y a aucun compte ni mot de passe par défaut. Le compte GM est créé uniquement par l’installation.
4. Commencer à jouer
- Parlez à Maître Sol au centre du Port des Alizés. Appuyez sur E ou touchez « Interagir ».
- Acceptez « Une plage à reconquérir ». Les crabes sont sur les plages du port, notamment au sud-est.
- Sélectionnez un adversaire. Utilisez Attaquer, Compétence et Potion. Le serveur calcule les dégâts, l’or et l’expérience.
- Revenez réclamer la récompense. Les missions suivantes vous envoient au Bois de Jade puis au Sanctuaire des Brumes.
- Traversez les portails lumineux : approchez-vous et interagissez. Le centre du port est une zone sûre.
| Action | Ordinateur | Mobile |
|---|
| Se déplacer | Clic au sol, ZQSD / WASD, flèches | Joystick ou toucher le sol |
| Cibler / attaquer | Clic sur ennemi, touche 1 ou Espace | Toucher l’ennemi / Attaquer |
| Compétence / potion | 2 / 3 | Boutons dédiés |
| Interagir | E | Bouton Interagir |
| Sac / quêtes / classement | I / J / L | Barre du bas |
| Caméra | Glisser clic droit / molette | Distance dans Réglages |
| Chat | Entrée puis message | Champ de discussion |
Sur téléphone, le paysage donne davantage d’espace. Vous pouvez désactiver les ombres dans les réglages. Un navigateur récent avec WebGL 2 est nécessaire pour le rendu complet. Le mode de compatibilité sans WebGL conserve une projection simplifiée, sans personnages texturés ni ombres.
5. Multijoueur et administration
Partagez le même lien avec vos amis. Chacun crée son compte et choisit une classe. Les personnages, monstres et messages utilisent la même base MySQL. La synchronisation utilise des requêtes PHP environ chaque seconde ; aucun WebSocket, Node.js ou service persistant n’est requis sur votre hébergement.
Dans admin.php, le GM peut définir l’or, ramener un joueur au port, suspendre ou rétablir un compte et définir un nouveau mot de passe. Les actions sont enregistrées dans un journal.
Pour fermer les inscriptions, mettez 'registration_open' => false dans config.php. Pour sauvegarder, exportez la base dans phpMyAdmin et conservez une copie de config.php hors du dossier public. Une mise à jour doit préserver ce fichier et la base existante.
6. Périmètre et limites réelles
- Inclus : trois classes, quatre modèles de personnages (dont un PNJ), animations sélectionnées, trois cartes originales compactes, cinq catégories d’apparence par palette/accessoire, armes et tenue équipables, trois missions, quatre types d’ennemis dont un dragon, XP, niveaux, or, boutique, soin, réapparition, chat, classement, compte GM.
- Non inclus : les cartes et toutes les villes originales de Tales of Pirates, son moteur original, l’ensemble de ses classes/objets/quêtes, navigation maritime jouable, guildes, commerce entre joueurs, donjons instanciés, PvP, économie complète, création de coiffures ou skins sur mesure, musique originale.
- Le monde est mis à jour à la demande, à chaque requête des joueurs. Il ne continue pas une simulation permanente lorsque personne ne joue. Les récompenses de combat reviennent au joueur qui porte le dernier coup ; il n’y a pas de système de groupe.
- La liste de présence affiche jusqu’à 40 autres joueurs par zone ; ce plafond de requête n’est pas une capacité garantie. Seules deux sessions simultanées ont été vérifiées. Aucun test de charge ou de capacité de l’offre Namecheap n’a été réalisé.
- Les accessoires colorés et équipements sont des ajouts simples au modèle. Les coiffures des modèles originaux restent les mêmes. Les modèles et animations sélectionnés demandent encore une vérification visuelle sur un appareil avec WebGL.
7. Vérifications réalisées
PHP 8.3 : syntaxe et tests unitaires réussis. MariaDB 10.11 : installation et création GM réussies ; tests de deux comptes, CSRF, sauvegarde après reconnexion, visibilité multijoueur, limitation du déplacement, combat partagé et recharge, économie, accomplissement réel de la première quête, refus d’une récompense répétée et traversée de portail aller-retour réussis.
Interface inspectée dans le navigateur de test en mode de compatibilité. Ce navigateur n’expose pas WebGL : le rendu GPU texturé et les animations n’ont donc pas pu y être validés visuellement. Le ZIP n’a pas été installé sur votre compte Namecheap.
8. Ressources et provenance
Les personnages, portraits et le dragon proviennent des fixtures de conversion publiques du dépôt Perseus/pko-tools. Les plages de certaines animations proviennent des tables publiques de TalesOfPirateDX9. Le moteur de Ritaco, les cartes et le serveur web ont été écrits pour ce projet ; aucun portage complet du C++ n’est revendiqué.
Aucune licence explicite couvrant les modèles originaux n’a été identifiée. Leur disponibilité publique ne confirme pas une autorisation de redistribution ou d’exploitation commerciale. La licence Apache d’un autre fork ne couvre pas automatiquement ces ressources. Lisez assets/top/PROVENANCE.txt. Three.js est fourni avec sa licence MIT dans assets/vendor/THREE-LICENSE.txt.
En cas de problème
Installation indisponible : vérifiez le nom complet de la base, l’utilisateur, le mot de passe, les droits et pdo_mysql. Erreur 500 : consultez cPanel → Errors et assurez-vous que PHP 8.2+ est sélectionné. Session expirée : rechargez le jeu. Écran sans 3D : activez l’accélération graphique et WebGL dans votre navigateur. Joueur coincé : le GM peut le ramener au port.