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

  1. 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.
  2. Activez le certificat SSL de votre domaine ou sous-domaine. Utilisez le lien en HTTPS.
  3. 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.
  4. 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

  1. Ouvrez https://votredomaine.com/ritaco/setup.php (adaptez le chemin à votre dossier).
  2. Saisissez la clé enregistrée dans config.php, choisissez votre identifiant administrateur et un mot de passe de 12 à 72 caractères.
  3. Cliquez sur Installer Ritaco. Attendez le message confirmant la création du compte.
  4. Supprimez setup.php et le ZIP du serveur avec File Manager.
  5. 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

  1. Parlez à Maître Sol au centre du Port des Alizés. Appuyez sur E ou touchez « Interagir ».
  2. Acceptez « Une plage à reconquérir ». Les crabes sont sur les plages du port, notamment au sud-est.
  3. Sélectionnez un adversaire. Utilisez Attaquer, Compétence et Potion. Le serveur calcule les dégâts, l’or et l’expérience.
  4. Revenez réclamer la récompense. Les missions suivantes vous envoient au Bois de Jade puis au Sanctuaire des Brumes.
  5. Traversez les portails lumineux : approchez-vous et interagissez. Le centre du port est une zone sûre.
ActionOrdinateurMobile
Se déplacerClic au sol, ZQSD / WASD, flèchesJoystick ou toucher le sol
Cibler / attaquerClic sur ennemi, touche 1 ou EspaceToucher l’ennemi / Attaquer
Compétence / potion2 / 3Boutons dédiés
InteragirEBouton Interagir
Sac / quêtes / classementI / J / LBarre du bas
CaméraGlisser clic droit / moletteDistance dans Réglages
ChatEntrée puis messageChamp 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

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.