Aller au contenu

Rechercher dans la communauté

Affichage des résultats pour les étiquettes 'tutoriel'.

  • Rechercher par étiquettes

    Saisir les étiquettes en les séparant par une virgule.
  • Rechercher par auteur

Type du contenu


Forums

  • InShare - Communauté
    • Annonces du forum
    • Le café d'InShare
    • Suggestions
  • Jeux Vidéos
    • Discussions
    • Minecraft
    • Grand Theft Auto
    • Call of Duty
    • Rocket League
    • Fortnite
    • Apex Legends
    • Jeux de simulation
    • MMORPG
    • Autres jeux
  • Développement
    • Discussions
    • Tutoriels
    • Release
    • Discord
    • Team Building
    • Services
    • Aides & support
  • Graphisme
    • Discussions
    • Tutoriels
    • Services
  • Plateforme
    • Informatique
    • Consoles
    • Smartphone
  • Template - Cms de Génération Développement
  • Information de Génération Développement
  • Demande de Aide de Génération Développement
  • Script Habbo & Hors Habbo de Génération Développement
  • Cours de Développement de Génération Développement
  • Graphisme & Graphiste de Génération Développement
  • Sujets de La famille inshare

Calendriers

Il n’y a aucun résultat à afficher.

Il n’y a aucun résultat à afficher.


Rechercher les résultats dans…

Rechercher les résultats qui contiennent…


Date de création

  • Début

    Fin


Dernière mise à jour

  • Début

    Fin


Filtrer par nombre de…

Inscription

  • Début

    Fin


Groupe


Localisé:


Interêts


Phrase perso


Je suis


Facebook


Twitter


Instagram


Snapchat


Skype


Youtube


Discord


Site web


Playstation


Xbox


Steam


Origin

  1. Bonjour, je vous partage une vidéo (qui commence à dater mais fonctionne toujours) sur comment créer son rétro Habbo avec Nitro en FRANCAIS Après, tous les liens ont été déplacés donc ce ne sera pas comme dans la vidéo pour les télécharger, mais j'ai essayé de tous les mettre à jour (lien Pastebin dans la description) Bon bah voila bonne chance pour votre rétro, il y a mon discord dans la description au cas ou. UPDATE --> Liens mit à jour.
  2. Bonsoir tout le monde ! Si je fais ce topic, c'est pour vous faire un tutoriel : Installation d'un pack d'enable Smiley sous Nitro Pour faire cela que faut-il? Prérequis: - Un cerveau - Un rétro - 2 minutes - Le pack :https://mega.nz/file/7xNgGIYA#nBOWGTqL7i9QYBhcP-Ty9XZjbB30BXl3feUpkl5kb5g scan : https://www.virustotal.com/gui/file/08488b2684f74750124a754b2dcaf6fc53d173acb17a8722a098b8ab2fa7c231?nocache=1 Etape numéro 1 : Chercher le dossier bundled/effect/ Personnellement il se trouve ici : Et insérez-y tout les enable du pack (dossier effect) Etape numéro 2 : Chercher le dossier gamedata/ Personnellement il se trouve ici : Remplacer donc le EffectMap.json par celui du ping Etape numéro 3 : Redémarrez votre émulateur, videz votre cache et voici le résultat ! : Les enables vont de :enable 656 jusqu'à 679 ! A très vite Zorked. HabSea : https://discord.gg/vwqXUU6GRn Zork'AIDE : https://discord.gg/caZupZJAzF
  3. Bienvenue à vous, si ce titre vous a interpeller j'espère que vous trouverez ici votre bonheur, étant un utilisateur courant de Linux je me suis intéresser et motiver à vouloir contribuer à l'utilisation de Nitro pour donner un coup de mains à la communauté curieuse et passionné de tout débutant, novice ou professionnel. J'ai entièrement suivis les étapes à suivre du tutoriel pour m'assurez qu'il ne manque aucune étapes afin que même les débutants s'y retrouve, rien n'est parfait, si vous avez repérer des erreurs ou si vous ne parvenez pas à franchir une étape n'hésiter surtout pas à me le faire savoir, ! Ici j'aborderais quelques étape à suivre pour administrer et installer un client Nitro localement sur le système d'exploitation linux (Debian 10 & GNU/Linux) : Vous apprendrez à : _ Installer des dépendances Linux pour menez à bien votre projet web. _ Vous familiarisez avec le terminal Linux. _ Installer et configurer un site sur le serveur web Apache2. _ Vous familiarisez en ligne de commande avec la base de donnée Mysql. _ Mettre en place et configurer un CMS simple comme Cosmic. _ Créer un nom de domaine localement sur votre machine. _ Quelques commandes linux utiles. /!\ Vous n’apprendrez pas à : _ Utiliser un système Linux. _ Comprendre et utiliser tout les outils installer. _ Gérer les éventuels erreurs rencontrer aux étapes de ce tutoriel. Si vous êtes un débutant Linux, je vous conseille d'essayer ce tutoriel sur une machine virtuel ! /!\ Personnellement je vous conseille d'apprendre à vous documenter sur Internet pour apprendre les étapes à suivre, ne copie/coller pas bêtement une commande sans savoir à quoi elle sert, cela ne vous serviras pas du tout et vous pourrez rencontrer des problèmes qui pourront sans doute déranger votre machine avec des bugs ! Vous avez des questions, des erreurs ? N'hésiter pas à me contacter en message privée ou sur l'article. Mon discord : CH41N#8029 //////// / CRÉDITS / / Un grand merci à Bill et son équipe de développeur et aux tiers qui on été présent pour m'aider à mener à bien ce tutoriel / Liens du serveur discord du projet de Bill - Nitro : >>> NITRO <<< / / //////// /!\ Premièrement vous aurez quelques ressources et outils utiles à télécharger sur linux avant de commencer ! /!\ PRÉREQUIS : Installation de NodeJS : _Au vue des quelques soucis d'installation que j'ai pus rencontrer sur Nitro avec la version (14) - LTS de NodeJS j'utiliserais la version 16 sur ce tutoriel, (si vous avez un quelconques problèmes d'installation avec la version, essayer plusieurs version pour les tester sur votre machine est la première étapes à faire.) Pour changer de version avec le Github NodeJS : >>> NodeJS Github <<< N'OUBLIEZ PAS : $ sudo apt-get -y update && sudo apt-get -y upgrade && sudo apt-get -y autoremove Installer 16v.NodeJS avec les commandes : # À utiliser sous Ubuntu $ curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash - $ sudo apt-get install -y nodejs # À utiliser sur Debian, en root $ curl -fsSL https://deb.nodesource.com/setup_current.x | bash - $ apt-get install -y nodejs # Installer PHP et ses modules utiles : $ apt-get -y install php-json $ apt-get -y install php-curl $ apt-get -y install php-mbstring # Installation de composer : $ sudo apt-get composer # Installation de npm : $ sudo apt-get -y install npm # Installation de Git : $ sudo apt-get -y install git # Installation de apache2 : $ sudo apt-get -y install apache2 # Installation de mysql et phpmyadmin : mysql [CONFIGURATION DE MYSQL DANS UN AUTRE ARTICLE BIENTÔT DISPONIBLE] : $ sudo apt-get -y install default-mysql-server phpmyadmin : $ sudo apt-get -y install phpmyadmin DÉBUT DE L'INSTALLATION ! Nous allons devoir installer l'émulateur Arcturus Morningstar et sa base de données : Télécharger le fichier 3-0-0-stable.rar depuis ce liens : >>> Morningstar <<< Extraire le fichier et accéder au dossier SQL de l'émulateur : $ cd 3-0-0-stable/sqlupdates/ Démarrer le serveur mysql et apache2 : mysql : $ sudo service mysql start apache2 : $ sudo service apache2 start On se connecte à Mysql pour créer la base de données qui vas importer le fichier .sql : # Connexion à la base de données : $ mysql -u root -p Enter password: [MOT_DE_PASSE] # Création de la base de données : > create database nitro; # Vérifier que votre base de donnée a bien été créer : MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | nitro | | performance_schema | | phpmyadmin | +--------------------+ 5 rows in set (0.001 sec) Nitro a bien été créer, maintenant nous pouvons quitté mysql : > exit Toujours dans le dossier /3-0-0-stable/sqlupdates/ nous allons importer le fichier .sql de l'émulateur : $ mysql -u root -p nitro < arcturus_3.0.0-stable_base_database.sql Enter password: [MOT_DE_PASSE] Voilà, vous êtes maintenant prêt à installer le CMS Cosmic ! Nous allons installer le CMS Cosmic dans apache, importer sa base de donnée et mettre à jour ses composants PHP : $ git clone https://git.krews.org/Raizer/Cosmic.git ./var/www/CMS/ # Accéder au dossier du CMS et lancer la commande composer : $ cd /var/www/CMS/ $ sudo composer install # Configurer le fichier .env pour connecter votre CMS à la base de donnée : $ sudo mousepad /var/www/CMS/Cosmic/.env # Vous devez avoir cette configuration : DB_DRIVER=mysql DB_HOST=localhost DB_NAME=nitro DB_USER=root DB_PASS=[MOT_DE_PASSE] DB_CHARSET=utf8 DB_COLLATION=collation # Une fois finis, accéder au dossier du fichier SQL du CMS et importer le fichier .sql : $ cd /var/www/CMS/Database/ # Avant d'importer le fichier .sql nous devons réparer quelques problèmes que rencontre le CMS avec l'émulateur : # Connecter vous à http://localhost/phpmyadmin/ et cliquer sur la base de donnée nitro que vous avez créer : # Cliquer sur SQL et copier coller la commande suivante pour l'exécuter : SQL : ALTER TABLE users ADD template enum('light','dark') NULL DEFAULT 'dark'; ALTER TABLE bans MODIFY COLUMN machine_id varchar(255)NOT NULL DEFAULT ''; SET FOREIGN_KEY_CHECKS = 1; # Retourner à la console pour importer le fichier .sql dans /var/www/CMS/Database/ : $ mysql -u root -p nitro < 2.6.sql Enter password: [MOT_DE_PASSE] ERROR 1060 (42S21) at line 1595: Duplicate column name 'secret_key' ##VOUS POUVEZ IGNORER CETTE ERREUR## Maintenant que nous avons configurer la base de donnée de l'émulateur et le CMS nous devons maintenant mettre en place un virtualhost dans notre serveur web apache2 pour accéder à notre CMS ! # Accéder au fichier de configuration de site d'apache2 : $ cd /etc/apache2/site-available/ # Désactiver le virtualhost par défaut de apache2 : $ sudo a2dissite default # Creer le fichier de configuration de virtualhost de votre CMS et l'éditer : $ sudo mousepad cosmic.conf # Éditer votre fichier avec la configuration suivante : <VirtualHost *:80> ServerName cosmic.local DocumentRoot /var/www/CMS/Cosmic/public <Directory /var/www/CMS/Cosmic/public/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost> # Éditer votre fichier hosts pour créer le nom de domaine cosmic.local : $ sudo mousepad /etc/hosts # Ajouter la ligne suivante en bas de localhost pour ajouter le nom de domaine : 127.0.0.1 localhost ##NE TOUCHER SURTOUT PAS CETTE LIGNE## 127.0.0.2 cosmic.local ##AJOUTER CETTE LINGNE## # Activer la configuration du site cosmic.conf avec la commande suivante dans /etc/apache2/site-available/ : $ e2ensite cosmic.conf Enabling site cosmic. To activate the new configuration, you need to run: systemctl reload apache2 # Redémarrer le serveur web apache2 si ce n'est pas fait : $ service apache2 restart # Actuellement nous venons de configurer notre CMS à l'adresse http://cosmic.local depuis notre serveur web local vous pouvez maintenant y accéder depuis votre navigateur préférer : # Créer votre utilisateur (Nous lui donnerons le rang de modérateur un peut plus tard dans la prochaine étapes) Voici la première étapes à suivre avant de configurer notre client Nitro, si tout c'est bien passer, vous passer à l'étapes suivante sinon recommencer l'étapes jusqu’à ce que vous comprenez les principes primordiale de ces étapes et et par la même occasion vous familiarisez avec Linux !
  4. Bien le bonjour moussaillon, j'espère que tu vas bien... Moi ça va, en tout cas pour le moment, car je me suis décidé... Je me suis décidé à te donner l'opportunité de faire comme tous les plus grands rétros, en proposant à ta communauté, une app MacOS et Windows, compatible Flash et te permettant de faire perdurer ton rétro. Bien que cette solution ne soit pas la meilleure, et qu'il soit toujours mieux de partir sur de l'HTML5, je peux comprendre la détresse que tu ressens lorsque l'on te parle d'HTML5, car ce n'est pas évident pour tout le monde de pouvoir créer, et utiliser de l'HTML5. Du coup, l'alternative que je te propose aujourd'hui, c'est celle de bénéficier de ces avantages sans avoir forcément un développeur à payer. Avant de lancer ce sujet, j'ai effectivement fait les modifications de mon côté et les tests nécessaires afin de ne pas te donner quelque chose d'instable voir de non fonctionnel. Dans ce tutoriel, il va falloir se sortir les doigts du cul, et te débrouiller tel un bon moussaillon, car niveau difficulté, même un bébé sait le faire, alors si toi tu ne t'en sens pas capable, je te propose passer par quelqu'un pour te le faire, même si je trouve ça incongru et totalement inutile. Avant de commencer, il faut avoir de quoi travailler, car ce n'est pas avec un bloc-notes que tu vas pouvoir développer ce petit système sympa et bien utile pour tes projets futurs... Maintenant que tu as toute ton armure, tu peux t'aventurer dans la jungle du développement... Si tu souhaites obtenir quelques explications au sujet des choses que je te fais télécharger afin de te rassurer, tu peux lire ce qui va suivre : [hide] [/hide] Bonus modification des images : [hide] [/hide] Bonus pour tester l'app avant de la mettre au format executable : [hide] [/hide] Eh bien nous voici dans la section des flemmards... Si tu as la flemme de faire la commande : npm install Et si tu souhaites avoir les indications "NOMRETRO" "LIENRETRO" dans le code pour t'y retrouver, tu peux télécharger l'archive qui fait 141.42MB : [hide] [/hide] Je préfère être transparent avec toi... Cette configuration simple, ce n'est pas comme si que je te demandais de recréer l'application de zéro moussaillon... Tout l'environnement est à ta disposition, et ce tutoriel, complet, donc je n'offrirais aucun support... Si tu tiens à ton projet, et que tu veux tout de même user de ma gentillesse et de mon temps, je te demanderai une contribution tarifaire (ce que je trouve normal et loyal), d'une valeur de 5 à 10 Euros (au choix). Tu peux aussi passer par @ notaryzqui est une personne de confiance, et qui est dans la capacité de te le faire, GRATUITEMENT ou SOUS RÉSERVE DE PAIEMENT (c'est selon son humeur). Si j'ai décidé de partager ce tutoriel à ce jour, c'est parce que je trouve ça injuste que des personnes proposent des systèmes intéressants, sans tutoriel, et donc accessibles seulement par des personnes ayant les compétences nécessaires. Tout le monde devrait s'entraider, et c'est donc pour ça que j'ai pris une petite heure pour rédiger ce sujet. Bien que cette méthode soit loin d'être la meilleure, elle permettra aux personnes n'ayant pas les compétences, de proposer une suite à leur communauté. Si tu souhaites aller plus loin avec ce genre de système, @ notaryza fait un petit sujet intéressant, avec le même principe, mais 100% "Natif", contrairement à ce sujet ou ce n'est que du "WebView". Si tu souhaites aller encore plus loin, et intégrer Nitro sur ton rétro afin de proposer une version HTML5, @ Stown a fait un petit sujet bien sympa ici. Tu trouveras le sujet de @ notaryz ici. Bon, eh bien, nos chemins s'arrêtent ici moussaillon, mais ne t'inquiète dont pas, nous nous divisions pour mieux nous retrouver sur un autre sujet palpitant ! Et que la mer soit avec toi !
  5. Slt slt l’équipe ✌? Aujourd’hui Jvais vous partager un petit site qui vous permet de créer vos propres mobis, je suis tombé dessus sur RZ et franchement il est pas mal avec beaucoup de fonctionnalités avec des effets de mobis etc... Avec cette astuce vous n’aurez plus besoin de passer par un autre mobis pour faire le votre. Bon jvous laisse tcheck par vous même:
  6. Pré-requis : Installer node et angular sur votre ordinateur Télécharger nitro en zip -> https://git.krews.org/nitro/nitro-client Télécharger la dernière version d'Arcturus -> https://git.krews.org/morningstar/Arcturus-Community/uploads/29c7d2b04fc5ac2a7ba14bb7acbd785e/3-0-0-beta-1.zip Télécharger le plugin websocket -> https://mega.nz/file/wJtk0CRT#FAKzL74P00sINRHX_glOdyoi5TFzJ1Q55wqNulRj6aw Les assets ( pack contient les assets et les swf) -> https://github.com/Wulles/Nitro Flash Ui nitro compiled version -> https://mega.nz/file/xQsiFKhB#ECpscHvWJw-EW6ldgwApdYdD4Ff6TEoZp7m1Hq6ztps Avoir un de ses serveurs installé sur votre ordinateur : Xampp/Wampp/Laragon etc Pour Windows : https://nodejs.org/en/download/ Après avoir installer node, installer Angular Cli en exécutant la commande: npm install -g @angular/cli Pour MacOS : brew update brew install node npm install -g @angular/cli Installer/configurer Nitro & Arcturus Après avoir télécharger le fichier zip, décompresser le sur votre ordinateur. Configuration de nitro : Allez dans le répertoire nitro, puis le dossier src et renommer les fichiers : -> index.html.example en index.html -> configuration.json.example en configuration.json Ensuite éditer le fichier configuration.json et modifier les trois premiers lignes En "socket.url": "ws://127.0.0.1:2096", "asset.url": "http://localhost/swf/assets", "c.images.url": "http://localhost/swf/c_images", Concernant les assets, si vous possedez les serveurs (xampp,wampp etc) de-ziper le swf.zip et mettez le dans le répertoire htdocs Ouvrir CMD (Windows) ou le terminal (MacOs) et exécuter les commandes : cd dossiernitro npm install ng serve (vous permettra d'accéder à nitro) Accéder à nitro -> http://localhost:8080/ Arcturus Configurer Arcturus et mettre le plugin websocket dans le dossier plugin Démarrer l’émulateur puis l’éteindre Allez dans la db -> Aller sur la table emulator_settings et configurer les lignes ws.nitro et ws.nitro comme suit Redémarrer l’émulateur. Allez dans la table users, mettre un sso sur l’user dans la colonne auth_ticket (choisissez n'importe quoi) Ensuite accéder à nitro comme suit http://localhost:8080/?sso=lessoquevousavezchoisi Et voilà le résultat
  7. Moussaillon, les océans m'ont ramené jusqu'à toi afin de te présenter un coffre longtemps bafoué et pourtant, si intéressant... Marius, mon matelot a réussi à retrouver la clé de ce coffre... Dans sa bouteille d'hydromel, la raison ? Je ne la connais pas, mais en tout cas, il avait l'air naturel, contrairement à d'habitude... Chocolatey : C'est un navire rempli de cartes au trésor. Celui-ci te permettra de créer ta propre chaloupe, rapidement, efficacement et tout en reprenant les fondamentaux du navire "Habbo" qui sombre avec ses moussaillons depuis très longtemps à cause de la chaloupe "HabboCity" qui serait, selon Lambert, insurmontable et invincible. Le navire Chocolatey appartenait au marin d'eau douce sant0ro, celui-ci le fît concevoir complètement avec les frameworks Laravel et Composer, une petite prouesse dans un monde de chaloupes, utilisant quasiment tous les mêmes technologies. Arcturus : Aïe, ça me fend la gueule de parler d'Arcturus, mais c'est pourtant bien le cas, et c'est, selon nos matelots anglais, l'une des seules proues compatibles avec le navire Chocolatey. Arcturus, regroupe tout un tas de trucs sympas à gratter, malgré son créateur, le loup de mer "TheGeneral". Ce vieux loup de mer en veut pour sa poche... Il est accro aux coffres, et il a raison. En créant Arcturus, il a réfléchi à l'avant mais aussi à l'après, et vicieux comme il est, il s'est donné à fond pour vendre du rêve à ses moussaillons, afin de les faire entrer dans une spirale monétisée qu'est l'abonnement à son système de caméra, ce qui signifie que pour pouvoir prendre des photos de tes voyages, il faudra lui laisser de l'argent, chose que je ne te conseille surtout pas au vu des alternatives présentes sur la chaloupe "RaGEZONE"... Chocolatey : Nombreux sont les avantages de ce navire. Commençons tout d'abord par : Son système entièrement en JS permettant une navigation sans encombre Son système multi-avatars permettant aux utilisateurs d'avoir plusieurs avatars avec un simple compte entièrement modulable Son système d'inscription complet, regroupant le choix du look, et le choix des apparts sur le client lors de la première utilisation Son design inspiré entièrement du navire "Habbo" Son système multilangue modifiable manuellement dans une de ses cartes au trésor Arcturus : Malgré son capitaine, il y a pas mal de choses sympa : Wireds (Triggers, Effects, Conditions, Custom Wireds) Animaux (Advanced AI) Groupes Echanges Rares Limités Devise saisonnière Gardiens Mod Tool Bots Jeux (Battle Banzai & Freeze) Editeur Floorplan. Paquets Pack Appart et bien plus encore à découvrir ! Chocolatey : Malheureusement, ce navire n'est pas tout beau et tout rose, certaines choses sont manquantes, et ces choses peuvent être importantes selon l'utilisation des matelots : Il ne contient pas d'administration à proprement parler Il est très compliqué à modifier Des fonctionnalités comme la boutique sont présentes, mais il n'existe à ce jour, aucun moyen de la configurer C'est un navire très compliqué à assembler, il faut être patient Il requiert certaines API qui ne peuvent être laissées de côté Selon les matelots Anglais, ce navire comporterait des failles (mais ça reste à vérifier) Le système de choix d'appart à l'inscription est bien présent, mais je n'ai à ce jour, pas encore trouvé un moyen de le modifier, ce qui signifie qu'il faut avoir une base de données regroupant exactement les mêmes ids que les meubles insérés lors du choix d'appart, sinon, tu te retrouveras avec l'appart, mais sans les meubles... La communauté est très fermée, et ce navire a été laissé de côté car personne à ce jour n'a trouvé comment le faire fonctionner avec Arcturus, du coup, aucune aide concrète, malgré le fait que tu vas apprendre à les faire fonctionner grâce à ce tutoriel ! Arcturus : Je vais pouvoir me faire un plaisir de cracher sur la gueule de ce vieux loup de mer... La communauté "d'entraide" n'est accessible que via Discord, et seulement si tu as payé un abonnement à TheGeneral Cette communauté est composée pour la plupart, de marins d'eau douce à l'ouest, incompétents, ridicules, et insultants Le code source de l'émulateur est inaccessible, sauf en l'échange d'argent... L'émulateur a été conçu de sortes à ce que les badges du groupe se basent sur du local, les coordonnées vers le coffre "c_images" ne sont pas acceptées, il faut que Chocolatey ET Arcturus soient hébergés sur le même serveur pour que les badges de groupe puissent fonctionner correctement.... L'émulateur ne fonctionne que par plugins, ce qui signifie qu'il est dépendant de tes connaissances, ou de celles de certains matelots qui en partagent Avant de commencer, il te faudra ton équipement matelot, sinon, tu risques de pas faire long feu face aux têtes-grises. Arcturus-Community-master.zip Chocolatey 3000K Un compte reCaptcha Composer PHP7 pour Chocolatey Des SWF et un Catalogue Complet et MàJ Habbo.swf par Eudes et pour HabboDev Pas besoin de te dessiner une carte pour savoir que tu auras besoin d'une base de données, d'un nom de domaine, d'un client FTP, d'un VPS et de ton cerveau. Si tu n'as pas encore tout ça, alors je vais te donner des idées intéressant matelot que voici : [hide] [/hide] [hide] [/hide] Sources utilisées : Pour les SWFS et le Catalogue : RageZone Pour le CMS : RageZone Auteurs des sources : Prérequis techniques : - PHP 7.X+ Matelot, nous voici maintenant sur les vagues de l'océan pacifique, si tu suis bien ce que je vais écrire, tu es sûr de ne pas te noyer... Nous allons procéder étape par étape. I : Installer la base de données Matelot, pas besoin de te faire une carte au trésor, si tu veux te lancer sur un rétro avec ce genre de ressources tu dois savoir, au moins, importer une base de données et obtenir ses informations. Il te faudra importer le fichier morningstar-base-2-3-0.sql dans ta base de données et pas les "TO....", je tiens à te préciser ça car des utilisateurs n'ont pas compris quel fichier était à importer, puis importer les tables du catalogue que je t'ai mis en téléchargement plus haut : II : Créer un compte recaptcha Une fois ton compte créé, il va falloir te rendre ici. Ensuite, pour obtenir ton propre code recaptcha tu dois procéder comme suit : Une fois la clé du site copiée, mets là de côté car tu en auras besoin pour configurer Chocolatey. III : Installer PHP7 Une fois téléchargé, tu vas décompresser le dossier contenu dans l'archive, que tu vas envoyer à un endroit de ton PC IV : Installer Composer Après avoir extrait PHP7, tu vas devoir installer Composer À un moment de l'installation, tu vas tomber sur cette page de l'installateur, tu devras alors définir la localisation de ton dossier PHP7 précédemment décompressé (1) puis continuer l'installation (2) : Pour ma part, j'ai décidé de placer le dossier PHP7 dans "Musiques", parce que je ne savais pas vraiment ou le mettre matelot. Après avoir défini la localisation de ton dossier, il ne te manquera plus qu'à finaliser l'installation de Composer. V : Configurer et Installer Chocolatey Une fois Chocolatey téléchargé, tu vas le décompresser à un endroit sur ton PC Ensuite, tu vas te rendre dans son dossier, lancer une cmd en procédant comme suit : Une fois "composer install" lancée et terminée, tu vas te rendre dans le fichier ".env" contenu à la racine de Chocolatey, puis, tu vas configurer les accès base de données comme suit : Une fois configuré, tu vas sauvegarder ton fichier .env, et retourner sur la cmd en procédant comme suit : Si tu as bien mis les bonnes informations de connexion, tu devrais obtenir le résultat ci-dessus. Une fois ce résultat obtenu, je te conseil LARGEMENT d'utiliser cette commande dans ta cmd : composer install --no-dev Maintenant, il va falloir te rendre dans le dossier "config" de Chocolatey et aller dans le fichier "chocolatey.php". Les lignes "26" et "27" te permettront de modifier le nom et le nom court de ton rétro. La ligne "39" te permettra de modifier le lien de ton rétro (OBLIGATOIRE) La ligne "58" te permettra d'indiquer le pseudo avec lequel tu t'es abonné sur Arcturus (FACULTATIF) La ligne "76" te permettra d'activer reCaptcha en indiquant la clé que tu as créée sur l'étape II de ce tutoriel (OBLIGATOIRE) Pour mettre le site en Français, il faudra te rendre en ligne "165" et remplacer "en" par "fr" (IMPORTANT) Pour modifier le pays d'origine du rétro, il faudra te rendre en ligne "177" ET "178" et modifier la ligne 177 en mettant 'fr' puis la ligne 178 en mettant 'eu' Une fois ces configurations apportées, tu devras sauvegarder, puis envoyer la totalité du CMS à la racine de ton nom de domaine. Il faudra que ton site pointe sur le dossier "public", ces modifications peuvent être apportées si tu demandes à ton hébergeur de le faire pour toi Une fois la totalité des fichiers envoyés, tu devras te rendre sur ton FTP et attribuer les droits "777" au dossier "storage" et à ses sous-dossiers comme suit : Si toutes les étapes ont été respectées, en te rendant sur ton rétro, tu devras obtenir ce résultat : VI : Configurer et Installer les SWF Avant de te lancer, il faudra importer les swf sur ton nom de domaine. [hide] Voici un conseil : Il est toujours mieux d'héberger ses SWF sur un sous-domaine sécurisé, comme ça, on ne mélange pas le côté BACK et FRONT et on évite de s'emmêler les épées ! [/hide] Une fois les SWF envoyées, il faudra te rendre dans le dossier "gamedata", puis dans le fichier "external_variables.txt" afin de remplacer la valeur "http://localhost" par "http://leliendetonretro.com" N'oublie pas d'envoyer le fichier SWF 60FPS que je t'ai mis en téléchargement, ce sera le SWF principal qui te permettra de te connecter au client ! Une fois le fichier "external_variables.txt" modifié, il faudra le sauvegarder, puis, te rendre dans le dossier "gamedata" puis "override" puis dans le fichier "external_override_variables.txt" et remplacer "http://localhost" par "http://leliendetesswfs.com" Maintenant, il faudra retourner sur Chocolatey, et dans le dossier "config" puis le fichier "chocolatey.php" afin de modifier les valeurs contenues de la ligne "259" à "271" par les liens de tes SWFS. Matelot, tu dois tout de même savoir comment configurer des SWFS non ? [hide] [/hide] VII : Configurer Arcturus Et nous voici à l'étape finale ! Encore un peu de concentration matelot et les vagues du pacifique seront à ta merci ! Il faudra décompresser Arcturus sur ton VPS Bien sûr, en tant que matelot tu dois connaître quelles sont les manipulations à effectuer sur ton vps avant de lancer un rétro (pare-feu, symbole numérique etc.) Une fois décompressé, il faudra configurer Arcturus en te rendant dans le fichier "config" contenu à sa racine. Voici les configurations bénéfiques à Arcturus qui ne sont pas forcément connues, alors, j'ai décidé de t'éclairer sur celles-ci : Pour le reste, je suppose que tu sais configurer un émulateur quand même matelot... Une fois Arcturus configuré correctement, il faudra te rendre sur Chocolatey, dans le dossier "config" puis le fichier "chocolatey.php" afin de modifier les valeurs contenues de la ligne "242" à "245" par celles de ton VPS. Maintenant que tout est configuré, tu vas retourner sur ton VPS et télécharger Java Une fois Java téléchargé, tu vas retourner dans le dossier d'Arcturus et double cliquer sur "start.bat" Ton rétro est allumé, bon jeu matelot ! VIII : Support Si tu ne te sens pas de le faire, ou que tu n'y arrives pas, plutôt que de polluer l'espace commentaire de ce sujet, je te propose de passer par la communauté pour obtenir des réponses. Je ne répondrais à aucune demande d'aide, sinon, je ne m'en sors plus, le cas par cas c'est ce qu'il y a de plus horrible Avant de juger, il est important pour toi de regarder à quoi ressemblent le catalogue et les swfs fournis ici ! De plus, télécharger un CMS sans savoir à quoi il ressemble c'est toujours inintéressant, alors, je t'invite à cliquer ! Que la mer soit avec toi matelot !
  8. Salut ! Je vais essayer de faire le plus simple possible avant tout je tiens à préciser que ce tutoriel s'adresse aux personnes avec un minimum d'expérience dans le """"développement"""" d'un rétro, en tout cas si tu as encore des problèmes à configurer des variables, ou que tu reste toujours bloqué à 96% avec Plus EMU tu peux passer ton chemin ou toujours essayer mais après avoir compris certaines mécaniques liés au serveur. Parenthèse fermée, aujourd'hui créons un rétro avec Comet. Comet cékoi ? Super connu, un émulateur développé par Léon, qui a été et est toujours d'ailleurs un très bon émulateur (Habbix, Habbocity, HBeta, Habblet ont cet émulateur en base mais ont améliorés beaucoup de choses) stable mais payant, il fut rendu publique avec son accord et host sur le Git d'un développeur (Ryan) qui a voulu reprendre le projet malheureusement il semblerait que l'idée soit abandonnée. Vous allez avoir besoin de beaucoup de chose pour commencer : - ItelliJ (Un éditeur comme visual Studio mais en 3x mieux et surtout adapté à Java) : (Prenez la version community) - De la dernière version de Java : https://www.jetbrains.com/idea/download/ - D'un JDK (Java development Kit) : http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html (téléchargez la version conrrespondante à votre système d'exploitation) - Comet : https://github.com/MetusM/Comet (DB inclue) - Illumina CMS adapté : http://habbofiles.com/download/3 - Maven : https://maven.apache.org/ - Pack SWF : N'importe lequel il vous faudra juste le .swf fourni dans l'archive de Comet (dossier _Files) Une fois que tout est installé / téléchargé / extrait correctement on est parti : I] Installez le CMS à la racine, configurez le dans engine->lightcms allez dans index.php et supprimez les ligne indiquée sur le screen : Allez dans vos variables et bien sûr configurez les ! Et placez le fichier Habbo.swf se trouvant dans le dossier _Files de l'émulateur dans gordon/(votre fichier avec les .swf) II] Importez CometDB.sql dans votre bdd et éxecutez ce script : -- ---------------------------- -- Table structure for hk_fuses -- ---------------------------- DROP TABLE IF EXISTS `hk_fuses`; CREATE TABLE `hk_fuses` ( `fuse` varchar(50) NOT NULL, `minrank` int(11) NOT NULL DEFAULT '1' ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of hk_fuses -- ---------------------------- INSERT INTO `hk_fuses` VALUES ('login', '8'); INSERT INTO `hk_fuses` VALUES ('site_manage', '11'); INSERT INTO `hk_fuses` VALUES ('pornban', '11'); INSERT INTO `hk_fuses` VALUES ('adv_edit', '11'); -- ---------------------------- -- Table structure for profile_wall -- ---------------------------- DROP TABLE IF EXISTS `profile_wall`; CREATE TABLE `profile_wall` ( `id` int(11) NOT NULL AUTO_INCREMENT, `page_id` int(11) NOT NULL, `poster_id` int(11) NOT NULL, `message` text NOT NULL, `likes` int(11) NOT NULL DEFAULT '0', `owner_read` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=49 DEFAULT CHARSET=latin1; -- ---------------------------- -- Records of profile_wall -- ---------------------------- -- ---------------------------- -- Table structure for site_hotcampaigns -- ---------------------------- DROP TABLE IF EXISTS `site_hotcampaigns`; CREATE TABLE `site_hotcampaigns` ( `id` int(11) NOT NULL AUTO_INCREMENT, `order_id` int(11) NOT NULL DEFAULT '1', `enabled` enum('0','1') NOT NULL DEFAULT '1', `image_url` text NOT NULL, `caption` text NOT NULL, `descr` text NOT NULL, `url` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1; -- ---------------------------- -- Records of site_hotcampaigns -- ---------------------------- -- ---------------------------- -- Table structure for site_news -- ---------------------------- DROP TABLE IF EXISTS `site_news`; CREATE TABLE `site_news` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `seo_link` varchar(120) NOT NULL DEFAULT 'news-article', `title` text NOT NULL, `category_id` int(10) unsigned NOT NULL DEFAULT '1', `topstory_image` text NOT NULL, `body` text NOT NULL, `snippet` text NOT NULL, `datestr` varchar(50) NOT NULL, `timestamp` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `datestr` (`datestr`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; -- ---------------------------- -- Records of site_news -- ---------------------------- III] Ouvrez IntelliJ, configurez le, ensuite sélectionnez : ouvrir un projet, sélectionnez le pom.xml dans le dossier de Comet à la racine suivez les étapes des screens : SELECTIONNEZ LES MEMES CASES VOUS ALLEZ DEVOIR CHERCHER OU VOUS AVEZ INSTALLÉ LE JDK : CLIQUEZ SUR LA CROIX VERTE ET SELECTIONNEZ LE JDK : ENSUITE EN BAS DE LA FENETRE : vous allez voir une barre de chargement, ne faites rien jusqu'au moment ou elle n'est plus là, ensuite continuez : IV] Ensuite une fois le processus terminé (si en bas il n'y a plus la barre de chargement) allez dans le menu en haut (comme sur les screens) puis dans View -> Tools -> Maven Project cliquez, une fenêtre va s'ouvrir à droite cliquez sur Comet (root) > Lifecycle > Double cliquez sur "package" et Comet va se compiler dans le fichier Comet Server->target->bin UNE CONSOLE VA S'OUVRIR EN BAS, UNE FOIS QUE VOUS VERREZ QUE LA COMPILATION EST TERMINÉE CONTINUEZ : V] Ensuite copier le fichier /config/ à la racine de l'émulateur et coller le dans le dossier cité juste avant ou comet a été compilé, ensuite allez dans ce fameux fichier config et ouvrez comet.properties et configurez db, ip etc... sauvegardez. VI] Ouvrez un éditeur de texte et coller ce code : java -jar -Dfile.encoding=UTF8 [CHEMIN] pause A la place de [CHEMIN] remplacez par le chemin exact (C:\\ etc...) vers votre votre fichier Comet .jar, ensuite enregistrez ce fichier au format .bat dans le même dossier du .jar VII] Vous n'avez plus qu'à lancer l'émulateur en double cliquant sur le .bat et à vous inscrire, et vous connecter !
  9. Comment se connecter aux WebSockets? Pour commencer je vous invite à installer le websocket-client de skeletor qui est compatible ici: https://git.krews.org/skeletor/websocket-client Cependant, si vous souhaitez créer le vôtre, assurez-vous d'implanter la méthode d'authentification et le protocole. Installer son websocket-client Pour commencer installer node-js sur votre VPS ou autres celons l'endroit ou vous héberger votre émulateurs. Ensuite placer le fichier websocket-client dans le dossier de l’émulateur, ouvrez le dossiers websocket-client et effacer le chemin d'accès en remplacer par "cmd" puis appuyer sur entrée. Ensuite, une console va s'ouvrir et vous aller taper "npm install" ce qui va vous donner: Vous faites la même manipulations avec "npm run build" et "npm run lint" API Externe L'application tentera de récupérer la configuration du client à partir de l'URL suivante (A vous de le faire): votre_domaine/api/getclientconfig Il s'attendra à recevoir une réponse avec la structure suivante: Bien sûr, il aura à la place les détails de la configuration de votre client. N'oubliez pas de rajouter la ligne "ws_url":"ws:127.0.0.1:90" dans votre client.php WebSocket Plugins Lien du plugins à placé dans le dossier plugins: https://git.krews.org/skeletor/websocket-plugin/blob/dev/target/WebsocketPlugin-1.0-SNAPSHOT.jar Ici vous aurez le répertoire complet: https://git.krews.org/skeletor/websocket-plugin/tree/master Instructions par le créateurs: Websocket Plugins: https://git.krews.org/skeletor/websocket-plugin/blob/master/README.md Websocket Client: https://git.krews.org/skeletor/websocket-client/blob/master/README.md Si vous avez des problèmes je vous invite à lire les instructions par le créateur du plugins ainsi que du websocket-client! Et pour tout support le discord de Krews: https://discord.gg/EKQcheX
  10. Comment utiliser ou activer l'appareil photo ? Pour pouvoir utiliser l'appareil photo, vous devez d'abord installer le plugin Apollyon. Vous devez également remplacer votre Habbo.swf Plugin Apollyon : [HIDE] Apollyon-2.jar [/HIDE] Habbo.swf : [HIDE] Habbo.swf [/HIDE] I] Remplacez le Habbo.swf que vous utilisez actuellement sur votre hôtel par le nouveau swf, assurez-vous qu'il n'est pas en cache. S'il est en cache, les utilisateurs doivent d'abord vider leur cache avant d'entrer dans l'hôtel. II] Ajoutez le plugin Apollyon dans le répertoire des plugins de votre émulateur et redémarrez votre émulateur, une nouvelle configuration sera créée dans la table emulator_config. III] Dans votre swfs, vous devez créer un dossier nommé "camera" et "camera/thumbnails", si le chemin d'accès à votre swf est /var/www/swfs/c_images, vous devez créer le dossier dans /var/www/swfs (exemple : /var/www/swfs/camera). IV] Dans votre base de données, naviguez jusqu'à la table emulator_config et modifiez les valeurs suivantes. Je définirais imager.location.output.camera en /var/www/swfs/camera Assurez-vous que camera_enabled est défini sur 1 et que camera.item_id est défini sur l'élément correct dans items_base. V] Ajoutez ou modifiez vos textes flash externes afin qu'ils contiennent les variables suivantes: navigator.thumbnail.url_base=http://localhost/swfs/camera/thumbnails/ stories.image_url_base=http://localhost/swfs/camera/ L'appareil photo ne peut être utilisé que s'ils disposent de l'autorisation acc_camera. Crédit : Harmony
  11. Bonjour , il y a quelques mois j'ai retranscrit toutes les questions fréquentes ainsi que les solutions pour arcturus morningstar sur leur forum, je met donc ça ici même si peu de personne utilise cette émulateur j'ai l'impression Question : J'ai trouvé un bug dans Arcturus Morningstar. Où dois-je le signaler ? Solution : [HIDE] Tous les bugs doivent être publiés dans le Git Arcturus Morningstar : https://git.krews.org/morningstar/Arcturus-Community/issues/new [/hide] Question : Je veux voir une nouvelle fonctionnalité Solution : [HIDE] Si Habbo l'a : demandez-le sur le lien indiqué ci-dessus. Ajoutez suffisamment de détails, de captures d'écran, etc. et vous le verrez très probablement dans la prochaine mise à jour (utilisez d'abord la fonction de recherche pour voir si elle a déjà été demandée). Si Habbo ne l'a pas, créez un plugin ou demandez un plugin - les plugins sont un moyen facile d'ajouter de nouvelles fonctionnalités à Arcturus Morningstar. Vous trouverez de plus amples informations sur la manière de créer un plugin à l'adresse suivante : https://docs.arcturus.dev/ [/hide] Question : Où puis-je télécharger la dernière version de Morningstar Solution : [HIDE] Vous pouvez télécharger la dernière version stable sur https://arcturus.dev/, vous avez également le choix de télécharger la version de développement dont la stabilité n'est pas garantie. [/hide] Question : Je veux contribuer à Arcturus Morningstar Solution : [HIDE] C'est vraiment super à entendre. Tout le monde peut contribuer par l'intermédiaire de: https://git.krews.org/morningstar/Arcturus-Community, il suffit de le cloner, d'y apporter des modifications et de demander sa fusion. Cependant, il y a des directives spécifiques à suivre pour que votre demande de fusion soit acceptée. [/hide] Question : Où puis-je trouver les plugins ? Solution : [HIDE] Les plugins sont distribués par les développeurs du plugin, mais il existe un pack officiel de plugins nommé "Arcturus Extended" qui contient des plugins vérifiés que vous pouvez utiliser, consultez https://git.krews.org/morningstar/arcturus-extended [/hide] Question : Quelle est la différence entre Arcturus et Arcturus Morningstar ? Solution : [HIDE] Arcturus est un émulateur maintenu par une personne qui le revendique comme son propre émulateur et ne permet pas à la communauté de contribuer à quoi que ce soit. Cependant, Arcturus Morningstar est un projet open source, ce qui signifie que vous pouvez contribuer au projet, signaler des problèmes, demander des fonctionnalités, etc. parce que c'est un projet communautaire, il sera toujours maintenu et mis à jour. [/hide] Question : Qui sont les contributeurs actuels ? Solution : [HIDE] Les principaux contributeurs et responsables de la maintenance d'Arcturus Morningstar sont HarmonicRain Harmony et Alejandro, mais ils ne sont pas les seuls à contribuer à ce projet, il y a beaucoup trop de contributeurs pour les lister ici. Mais ce sont eux qui maintiennent le projet. [/hide] Question : Comment puis-je installer Arcturus Morningstar ? Solution : [HIDE] Des informations sur la façon d'installer Arcturus Morningstar sont disponibles sur https://hackerman.tech/doc/arcturus/install/1/ [/hide] Question : Comment faire fonctionner l'appareil photo ? Solution : [HIDE] https://inshare.fr/topic/9599-comment-utiliser-la-caméra-darcturus-morningstar/ [/hide] Question : Arcturus Morningstar coûte-t-il de l'argent ? Solution : [HIDE] Non, l'utilisation d'Arcturus Morningstar est gratuite, les fonctionnalités officielles et les plugins officiels sont gratuits. Cependant, certaines personnes peuvent vous faire payer pour créer un plugin pour vous, nous ne pouvons pas garantir qu'elles ne vous escroqueront pas. Veuillez contacter un modérateur ou un administrateur de Krews si vous n'êtes pas sûr que quelqu'un est digne de confiance. (Veuillez vous adresser à une personne ayant un rôle de développeur pour les demandes de plugins, ils sont plus dignes de confiance). -> Nous ne sommes pas responsables des "mauvaises foi" ici. [/hide] Question : J'ai cette erreur quand je démarre l'émulateur : Solution : [HIDE] Exécutez ce SQL : ALTER TABLE `emulator_errors` MODIFY COLUMN `version` varchar(64) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL AFTER `timestamp`; ALTER TABLE `emulator_errors` MODIFY COLUMN `build_hash` varchar(64) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL AFTER `version`; [/hide] Question: Wireds n'enregistrant pas correctement. Solution : [HIDE] Exécutez ce SQL : ALTER TABLE `items` MODIFY COLUMN `wired_data` varchar(4096) CHARACTER SET latin1 COLLATE latin1_swedish_ci default ''; [/hide] Question : IIS & PNGCamera/Appolyon Solution : [HIDE] Si vous ne voyez pas les images ou si leur chargement est long, vous devez désactiver le cache dans ce répertoire web. -> Pour IIS, créez un web.config dans le répertoire camera et remplissez-le avec ceci : <configuration> <system.webServer> <httpProtocol> <customHeaders> <add name="Cache-Control" value="no-cache" /> </customHeaders> </httpProtocol> </system.webServer> </configuration> -> Pour Apache, créez un .htaccess et désactivez le cache [/hide] Question : Comment puis-je corriger "com.mysql.jdbc.exceptions.jdbc4.MySQLDataException : 'XX1E9' dans la colonne '1' est en dehors de la plage valide pour le type de données INTEGER". Solution : [HIDE] Exécutez la requête suivante et supprimez toutes les lignes qui correspondent. N'oubliez pas de supprimer également tous les catalog_items liés. Si vous ne souhaitez pas supprimer le ou les articles, modifiez l'ID (n'oubliez pas de modifier catalog_items et les articles également ! SELECT * FROM items_base WHERE id > 2147483647 [/hide] Question : Pourquoi le wired classement ne fonctionne pas ? Solution : [HIDE] wf_highscore EST L'INTERACTION. [/hide] Question : POURQUOI LES DÉS NE TOURNENT PAS ? Solution : [HIDE] les dés n'ont jamais pu tourner, ce n'est pas codé dans le swf, essayez ce SWF https://cdn.discordapp.com/attachments/572404816509403136/607588232091402242/draaidice.swf [/hide] Question : Il me manque cette configuration. MSG : [CONFIG] Clé non trouvée : allowed.username.characters Solution : [HIDE] Exécutez ceci : INSERT INTO `emulator_settings`(`key`, `value`) VALUES ('allowed.username.characters', 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_-=!?@:,.'); [/hide] Question : Je reçois un article au hasard lors de l'achat d'un cadeau / Le cadeau ne fonctionne pas Solution : [HIDE] C'est un problème dans la configuration de votre emballage cadeau. Exécutez cette requête SQL pour corriger les emballages cadeaux : TRUNCATE TABLE gift_wrappers ; INSERT INTO gift_wrappers (sprite_id, item_id) SELECT sprite_id, id FROM items_base WHERE item_name LIKE 'present_gen%' ; UPDATE gift_wrappers SET type = 'gift' ; INSERT INTO gift_wrappers (sprite_id, item_id) SELECT sprite_id, id FROM items_base WHERE item_name LIKE 'present_wrap%' ; [/hide] Question : Je ne vois pas le widget/bubble d'informations sur l'événement dans la barre latérale ! Solution : [HIDE] Suivez ces étapes jusqu'à ce que vous le fassiez fonctionner 1. Vérifiez que eventinfo.enabled=true se trouve dans vos variables. 2. Vérifiez que vous n'écrasez pas la propriété eventinfo.enabled dans vos variables d'annulation. 3. Vérifiez si vous définissez new.identity=1 quelque part, et si c'est le cas, supprimez-le. REMARQUE : ce paramètre se trouve très probablement dans votre fichier client (client.php, etc.), alors vérifiez là aussi ! 4. En dernier recours, vous pouvez ajouter new.identity.hide.ui=false pour supprimer les bizarreries liées à la nouvelle identité. Habbo ne montre pas certains éléments de l'interface utilisateur aux nouveaux utilisateurs, probablement pour éviter toute confusion avec les nouveaux utilisateurs. Vous ne devriez pas ajouter la propriété new.identity si vous ne l'utilisez pas correctement car elle cache certains éléments de l'interface utilisateur. Même si la fonctionnalité n'est pas codée, la version réduite suivante du widget sera affichée. Si vous ne pouvez pas le voir, c'est un problème dans vos variables, pas dans Morningstar. [/hide] Question : La commande de regroupement ne fonctionne pas Solution : [HIDE] Exécutez : UPDATE `catalog_pages` SET `includes` = '' WHERE `includes` IS NULL; ALTER TABLE `catalog_pages` MODIFY COLUMN `includes` varchar(32) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '' COMMENT 'Example usage: 1;2;3\n This will include page 1, 2 and 3 in the current page.\n Note that permissions are only used for the current entry.'; [/hide] Question La commande Mute n'a pas été corrigée Solution : [HIDE] recherche de la commande ":mmute" "fix" open emulator_texts in DB recherche de la chaîne de caractères "commands.keys.cmd_mute" remplace la valeur par "mmute;shutup" Cela devrait activer la commande puisque ":mute" est une commande côté client et ne fonctionne pas comme prévu. l'utilisation telle qu'indiquée par John est déjà ":mmute %username% %time%" note : %time% en secondes. [/hide] Question : Quelle production Habbo.swf utilise Arcturus Morningstar ? Solution : [HIDE] Le seul Habbo.swf compatible est : PRODUCTION-201611291003-338511768 [/hide] Question : mes crédits/points fkn ne sont pas déduits lorsque j'achète quelque chose ? Solution : [HIDE] votre rang a la permission de crédits infinis acc_infinite_credits acc_infinite_pixels acc_infinite_point [/hide] Question : Je vois des nombres aléatoires dans mon catalogue Solution : [HIDE] Ce sont des pages d'identification. Elles sont destinées à l'entretien ménager de l'ancienne école afin de faciliter l'édition de ces pages. Seuls les administrateurs les voient. Si elles vous dérangent, vous pouvez exécuter ce SQL : Mettez à jour les permissions SET `acc_catalog_ids` = '0'. [/hide] Question : On ne peut pas acheter de chien Solution : [HIDE] C'est parce que le chien est pet_id = '0'. La base de données de base a comme clé primaire le pet_id dans pet_actions, que MySQL met automatiquement à jour avec le dernier ID. Le chien se casse simplement à chaque redémarrage, parce que votre serveur ne permet pas qu'il soit à 0. Voici donc un correctif. Il suffit de le lancer et de le redémarrer - tous les animaux sont réparés. NOTE ! Ce SQL ne contient pas d'animaux de compagnie personnalisés, donc au cas où vous en auriez, réinsérez-les. https://cdn.discordapp.com/attachments/579394099753254922/711276369753014312/pet_actions.sql [/hide] Je tiens à rappeler que ce sujet à pour but de répondre aux questions/problèmes fréquemment rencontré sur arcturus émulateur et en aucun cas un sujet pour demander de l'aide. Crédits à Hackerman, Olivier, Jhon, Laynester, Bill, Alejandro, Harmony, Narzo.
  12. Yo le peuple ! Je voie de plus en plus de gens qui cherche des méthodes pour "repixelisé" leurs créations ou juste de simple image. Aujourd'hui je vous propose un petit tuto pour rajouter du détail ! Voiçi le rendu en plus grand : Clique ici pour voir l'image en HQ Technique utilisé principalement par les photographes pour faire ressortir les imperfections minimals de la peau pour ceux à quoi cela sert de base ! Voila, Egzys.
  13. https://mega.nz/#!B8JhEIRT!wmBERj3IN8HLBJoMSxN7MxKI7yxc1QmQn6SbGoyhQkI This is the latest version of Arcutus. If you need help editing it or cleaning Habbo.swf, it's not that hard! Arcturus EMU SWF
  14. Coucou tout le monde sa fait longtemps j'ai pas poster de topic alors aujourd'hui pour un Tutorial comment faire se truc. Alors commençons étape par étape : Premièrement : Allez sur votre serveur discord en suite paramètre du serveur en bas y a "Widget" vous aurez çe ci normalement Deuxièmement : cochez "Activer le widget pour le serveur" sur "pas d'invitation vous mettez "Salons vocaux" normalement vous aurez çe ci Troisièmement : étape final vous n'aurez plus qu'allez mettre le code sur votre index.php ou me.php çe la marche sur tout les cms habbo ou pas habbo x) vous mettez çe ci <iframe src="https://discordapp.com/widget?id=iciiddevotreserver&theme=dark" width="350" height="500" allowtransparency="true" frameborder="0"></iframe> Normalement vous aurez ça enfin ici PS : Excusez moi pour les fautes orthographes :c Passez un bon séjour en cas de problème je suis disponible sur Facebook : Hichem FL Discord: O_O#9889 Me rejoindre sur un serveur discord ou je suis plus actif : https://discord.gg/ScVNQ8U
  15. Bonsoir tout le monde ! Si je fais ce topic, c'est pour vous faire un tutoriel : Installation d'un pack de vêtements Habbo sous Nitro Pour faire cela que faut-il? Prérequis: - Un cerveau - Un rétro - 2 minutes - Le pack : https://mega.nz/file/2gN3TLYS#P2KiKLcV_8sB1WaJSuj6nTftlk6d-OOGeNSZe6TtcrU scan : https://www.virustotal.com/gui/file/d7b57a33e1eff2a7f1177d8b1d902b69e6b79cd25f5e8fece49deb0f68e3ef97?nocache=1 Etape numéro 1 : Chercher le dossier bundled/figure/ Personnellement il se trouve ici : Etape numéro 2 : Ensuite glisser dans ce dossier tout le contenu du dossier figure que je vous ai partagé et accepter tout les remplacements, Etape numéro 3 : Et pour finir, remplace le figuredata, figuremap qui se trouve ici personnellement : Et maintenant vide ton cache (soit dans les paramètres de ton navigateur soit simultanément CTRL SHIFT R) ! Le tuto est désormais terminé, N'hésite pas a rejoindre mon serveur discord d'entraide crée a l'instant, ou tu trouvera je l'espère réponse a tes questions, Ainsi que de nombreux tutoriels (Changements d'UI, Partage et ajout de plugins, etc.. ! ) Lien : https://discord.gg/caZupZJAzF Zorked#0667.
  16. Bonjour à tous Aujourd'hui je viens vous présenter comment fixer la talent_track avec Arcturus ! Pour cette recette nous allons avoir besoin d'une pincée d'images, d'un zeste d'external_texts et d'une louche de base de données. Tout d'abord, je pars du principe que votre serveur fonctionne. Les images Vous pouvez retrouver ici les images qui seront nécessaires à votre talent track. Vous vous demander où les mettre ? Pas de panique, tu trouveras un fichier texte avec l'emplacement de chaque image Images_Talent_Track.zip SWF Ensuite il te faudra ajouter ces quelques lignes dans ton fichier external_texts pour ne pas avoir des soucis comme ca : /!\ Pense à modifier le nom de ton rétro /!\ : https://pastebin.com/GnQgqQg5 La DB Nous venons maintenant à la partie concernant la base de donnée Tu dois normalement avoir dans ta base de données, deux tables qui se prénomment achievements et achievements_talents. La première, c'est là où tu trouveras tous les badges succès (aussi appelé winwin). Nous allons avoir besoin de cette table pour trouver les succès qui feront avancer les utilisateurs dans le talent track. Commençons par la table achievements : La première colonne id correspond à l'identifiant du badge/winwin. La colonne level indique le niveau d'avancement dans le winwin, par exemple "GUIDE XX" le level sera de 20. C'est tout ce qu'il sera important de savoir pour cette table. Viens ensuite la table achievements_talents, la plus importante. La colonne id ne représente pas quelque chose d'important ici. Veillez juste à ce que les valeurs soit uniques. La colonne type correspond au type de la talent_track. Effectivement vous avez les talents citoyen et guide, respectivement citizenship et helper. La colonne level correspond au niveau d'avancement du talent et commence à 0. La colonne achievement_levels correspond au winwin que doivent obtenir les joueurs pour passer au niveau suivant. ATTENTION, il ne faut rentrer ici que les id des winwins niveau 1 ! La colonne achivement_levels correspond au niveau du winwin à atteindre. L'odre des id et des level est à respecter. La colonne reward_furni, reward_perks et reward_badges correspondent respectivement aux mobis gagnés, aux avantages tels que le troc, et les badges débloqués lors du passage de niveau. A titre d'exemple, on peux voir que pour l'id 9 : Il faut débloquer les winwins 29 niveau 3, et 50 niveau 5. Voici à quoi devrait ressembler votre talent_track une fois fini : Si tu es un gros flemmard et que tu as la même db que moi tu peux utiliser ça : achiev_talents.sql Voilà je crois que c'est tout pour moi. Les broutille et les jolie fleurs c'est pas mon délire, j'ai fait le max en présentation ahah
  17. Non ce n'est pas volé de NLBOBBA, parce que c'est partagé sur un forum anglais, donc je le fais en France. Bonjour, ayant trouvé sur un Forum anglais un tutoriel pour mettre son rétro en 60 FPS, j'ai décidé de vous partager l'astuce en Français. Avant toute chose, il est important de noter que la version à 60 FPS a ses inconvénients, par exemple, les mobis animés bougeront environ 2,5 fois plus vite, ce qui représente beaucoup sur un fichier swf. Vous n'avez qu'à suivre les étapes: [hide] 1- Télécharger JPEXS Flash Decompiler 2- Préparer votre Habbo.swf sur votre bureau 3- Ouvrir votre fichier Habbo.swf avec JPEXS 4- Cliquer sur entête puis sur Édition en bas (chez vous, FrameRate sera à 24) 5- Éditer FrameRate, mettre 60 et sauvegarder. [/hide] Ensuite importer votre fichier videz votre cache de préférence et le tour est joué. J'espère avoir rendu service à beaucoup, si vous rencontrez un quelconque soucis, vous pouvez toujours me contacter sur discord: Obscurian#6510 Bien à vous, créateurs & développeurs de rétros =)
  18. Bonjour, Aujourd'hui je vais vous montrer comment synchroniser la colonne "catalog_name" de catalog_items avec "public_name" de items_base. C'est une simple query sql à entrer : UPDATE catalog_items INNER JOIN items_base SET catalog_items.catalog_name = items_base.public_name WHERE catalog_items.id = items_base.id Si vous avez le moindre problème, faites un topic En espérant vous être utile.
  19. Salut à tous, aujourd'hui l'on ce retrouve pour un nouveau tutoriel. L'on va apprendre comment Personnalisé Son Émulateur Habbo-Retro Votre émulateur doit être Open-Source, ce qui veut dire que vous devez avoir accès à tout les fichiers. Vous avez un doute qu'il ne soit pas Open-Source ? Cliquez ici pour voir comment ses. Tout d'abord, vous allez avoir besoin que votre habbo-rétro soit fonctionnel. J'entend par là, que vous devez avoir installer votre CMS, la base de données, le VPS. Dans la personnalisation de l'allumage, nous allons voir comment modifier ceci: http://hpics.li/0678318 http://hpics.li/97c6031 Commençons ! Ouvrez le dossier où est situer votre émulateur Open-Source comme je vous ai montrez tout à l'heure. Ouvrez le fichier .csproj situer à la racine de votre émulateur Open-Source Pour ma part, ce sera Gold Tree Emulator 3.0.csproj Si tout ce passe bien, Visual Studio s'ouvre comme ceci: http://hpics.li/1eb18d3 Une fois ici, vous allez cherche le fichier .cs Vous allez me dire qu'il y en a plusieurs, mais un seul sera celui que l'on cherche Normalement, si vous avez pris le Phoenix, ce sera phoenix.cs (Je ne suis pas sûr) Pour ma part, ce sera GoldTree.cs Vous cliquez dessus et descendez et ... BIM ! Vous verrez les premiers textes de votre émulateur ! http://hpics.li/f3f1d3f Nous allons voir comment faire son propre texte personnalisé ! On ouvre un bloc-note et l'on fait son texte avec des # par exemple http://hpics.li/66ae86c Une fois votre texte terminer, l'on ce rend sur Visual Studio pour copier/coller le petit codage (Pour les flemmard) Comme ceci: http://hpics.li/82e95c8 Prenez bien les tabulations/espaces! Une fois ceci copier/coller, mettez les sur votre place bloc-note, comme ceci: http://hpics.li/1c1905d Puis en rajoutant à la fin ceci : "); http://hpics.li/2f69fd9 Une fois ceci fait, rendez-vous sur Visual Studio. Supprimer l'ancien texte et mettez le votre. http://www.hostingpics.net/viewer.php?id=754537tuto9.png Maintenant, nous allons modifier ceci: http://hpics.li/d58ae0d Rien de plus simple, vous enlevez le + PrettyVersion Ce qui vous donne ceci: Console.WriteLine(" " ); Vous avez juste à mettre le texte souhaiter. Vous pouvez aussi modifier la couleur. Console.ForegroundColor = ConsoleColor.White; A la place de White je vais mettre Yellow (Jaune) Et voila le résultat! http://hpics.li/0c9d0d2 Passons maintenant au texte de connectivité. Nous allons modifier: Connecting to database Pour éviter de cherche tout à la main, vous allez faire : Editions -> Recherche et Remplacer -> Recherche dans tout les fichiers http://hpics.li/8c6cd3f Une fois dessus, vous allez juste marquer: Connecting to databse http://hpics.li/b41fba6 Un petit message apparaît et vous donne l'endroit où est placer le texte. Pour modifier les deux textes, c'est très simple, ils faut les modifier Vous allez avoir les deux textes l'un en dessus de l'autre Logging.smethod_0("Connecting to database..."); using (DatabaseClient adapter = GoldTree.GetDatabase().GetClient()) { Logging.WriteLine("completed!"); Et vous modifiez à votre guise http://hpics.li/21a0957 Je ne vais pas faire le reste avec vous, vu que maintenant vous savez comment trouver chaque texte Dans cette dernière partie nous allons voir comment modifier les textes de la commande :about http://hpics.li/df5869c Vous allez recherche une recherche rapide de tout les fichiers, comme nous l'avons vu plus haut. Pour ma pars, je vais marquer: Thanks/Credits Et Hop! Magie! Visual Studio à trouver ce que je cherche. Maintenant, modifier à votre guise Pour ma part voila ce que j'ai mis http://hpics.li/c1cea3e En espèrent vous avoir était utile PS: Ce n'est pas mon tutoriel, juste un petit partage (Crée par Vodky sur un autre forum.)
  20. Salut HDEV Aujourd'hui je vais vous présenter une de mes créations qui est une page staff secondaire Dans ce fichier vous devez juste remplacer le "Rank" par le rank que vous voulez mettre sachant qu'il y'a 3 Rank déjà mis ( Responsable d'équipe secondaire , Pubeur Pro et Graphiste ) Bien-sur vous pouvez modifier le titre des rank ; et vous reste plus qu'a modifier le " Retro " par le nom de votre Rétro habbo et aussi ne pas enlever les " juste a modifier ce qui entre "" Par exemple "rank" > "9" "Retro" > Habbo Envoyer le fichier Staff2.php Dans votre FTP la ou ce trouve Staff.php Puis aller dans le header et copier la ligne staff puis la coller juste en dessous de la ligne staff en remplaçant le nom du fichier staff par staff2 comme sur l'image Vous n'avez plus qu'a enregistrez et c'est tout bon Résultat Lien de la page staff : http://www.mediafire.com/file/wdanopw4chii4u0/staff2.php Scan: https://www.virustotal.com/fr/file/7de4c12bf849344b62a1e7bc6c710b46972dcb63e6cfc673e8d0158d6bf488e8/analysis/1490861321/ Ce Tuto fonctionne que sur TheoCMS V1 Pour toute demande de créations de ce genre de page je suis libre Si ce Tutoriel ta aidé suis moi
  21. Bonjour/Bonsoir a tous! Je vous vais vous apprendre comment faire pour régler ça(ou d'autres comme ça mais la c'est pour l'exemple) : 1.On recopie le texte qui beug 2.On va dans ces SWF --> gamedata -->external_flash_texts.txt 3.Choisisez un endroit qui vous parrait bien (au pif) , faites un retour a la ligne et coller le texte beugé préalablement recopié Rajout un "=" et le texte qui va apparaitre 4.Effacer votre cache 5.FINIT BRAVO! ATUCE : Si comme moi c'est la partie de la boutique "promouvoir" qui beug vous pouvez voir le nom des catégories dans :navigateur d'apart -->Catégories (Ca comment a la 2eme ligne ) Bon du coup j’espère que ca vous auras aider et DSL pour les fautes
  22. Pour ce faire nous aurons besoin de deux éléments que je fournirais bien évidement Je ne vous impose en aucun cas de cliquer sur le lien monétisé Lien utile: habbo-imaging: http://www.mediafire.com/file/b1y6m47d9dxdc3d/habbo-imaging.rar lien monétisé si vous voulez me faire plaisir: http://www.clictune.com/4uW6 un habbo-imaging et une ligne à ajouter dans votre .htaccess Donc pour commencer vous insérez le dossier habbo-imaging dans la racine de votre hébergeur web en gros où ce trouve votre dossier game et votre .htaccess Une fois ceci fait vous n'aurez qu'à ajouter cette ligne dans votre .htaccess: RewriteRule ^habbo-imaging/badge/(.*).gif$ ./habbo-imaging/badge.php?badge=$1 Comme ceci Bonne utilisation les bugs des badges VIP etc ont été réglé dans cet habbo-imaging.
  23. Hello ! Plusieurs personne, ne savent pas fixé le crash client lors du chargement. (arrivé à 100% on vois le client 1/2 secondes, puis ça crash). Je prends exemple, sur la production: PRODUCTION-201602082203-712976078 Pour ça, aller dans votre external_variables.txt puis aller tout en bas. (vous aurez des lignes à corriger). Aller, petit cadeau, copier coller les lignes suivante (remplacer LIEN par le lien de votre rétro): Normalement, si vous avez bien mis, le client ne devrait pas crash.
  24. Salut à tous. 1. Introduction Étant développeur web, on peut rencontrer plusieurs types de failles dans un CMS, qu'il sois vieux ou récent. Une faille en particulier a attiré mon attention dans le monde du développement web. En sachant que PHP regroupe les moins bons comme de très bons développeurs, il faut savoir que souvent, les amateurs oublient de gérer une faille qui reste extrêmement dangereuse dans certains cas. C'est pas pour autant que je vais aborder sur ce topic, plusieurs failles récurrentes dans un projet web amateur. N'oubliez pas le petit +1 si ça vous a plu. :3 2. Quelque failles A) Restrictions + Redirections Problématique: Malgré une restriction du rang sur certaines pages, comment être sûr que la redirection fonctionne et que la personne n'a pas accès à la page en question? Réponse: Vous pensez peut-être qu'en essayant de vous dérank et si vous essayez d'accéder à la page, que vous subissez une redirection, vous êtes protégés? [HIDE] Réponse réelle (Ce n'est pas la résolution du problème): Imaginons une fonction publique provenant d'une classe type: <?php public function restrict() { if(!$user->Logged()) { // Savoir si le joueur n'est pas connecté header('Location: index.php'); } } ?> Si vous n'utilisez pas de classes, c'est facilement adaptable. Le principe est que lorsqu'on veut restreindre une page par exemple à un utilisateur non connecté, on a tendance à utiliser un header();. Maintenant si on se déconnecte ce la page en question et que l'on veut accéder à la page, on est logiquement redirigé. Mais que se passe-t-il si on bypass le header(); ? Il existe par exemple sur Chrome une extension, permettant de bypass les headers: Le nom est "ModHeader". Voici un screen: Si jamais je coche le bouton à gauche de "Location" que j'ai au préalable ajouté dans "Response Headers", je vais pouvoir éviter les redirections des sites webs. Attention, ça ne bloque que les header('Location:'); Du coup j'imagine que vous avez une idée de la suite, on va activer cette application qui va nous permettre de vérifier si jamais on est pas redirigé, qu'est-ce qu'il se passe. Si jamais on essaie, on va tomber sur la page, sans redirection, et c'est plutôt problématique si jamais ça arrive dans des pages qui sont plutôt dite à risque comme dans l'administration par exemple. Ce qu'on va faire donc, c'est modifier notre fonction qui retourne qu'un header('Location'); par une fonction un peu plus poussée. <?php public function safeRedirect($url, $exit = true) { if (!headers_sent()){ header('HTTP/1.1 301 Moved Permanently'); header('Location: ' . $link); header("Connection: close"); } print "<html>"; print "<head><title>Redirection...</title>"; print "<meta http-equiv='Refresh' content='0;url='{$link}' />"; print "</head>"; print "<body onload='location.replace('{$link}')'>"; print "Vous rencontrez peut-être un problème.<br />"; print "<a href='{$link}'>Se faire rediriger</a><br />"; print "Si ceci est une erreur, merci de cliquer sur le lien.<br />"; print "</body>"; print "</html>"; if ($exit) exit; } ?> Le plus important dans ce code, c'est le "exit;" qui permet de bloquer les informations du site, et ne donne aucune suite. Ça reviendrait à faire un header('Location'); avec un exit; à la fin, mais cette fonction donne des infos supplémentaires à la personne qui est bloquée par la redirection. [/HIDE] B) Faille CSRF Problématique: Imaginons que nous sommes connecté à notre site. Et qu'une personne hasardeuse nous demande d'aller checker son site par exemple. Ça nous redirige vers un site plus que douteux, on clique quand même sur ce lien, et 15 minutes après, lorsqu'on souhaite accéder à notre site, il se trouve qu'une personne inconnue est gradée dans notre site, et y a fait n'importe-quoi. Réponse: Nous souhaitons voir comment est-ce que cela a pu se produire. Pour cela, en général, dans un site web on a un système de logs qui définit les faits qu'un staff a fait par exemple. Ce qui est utile pour voir si un problème a eu lieu, ou pour modérer les faits d'un staff. Si jamais ces logs n'existent pas, on ne peut pas vérifier à 100% que c'est dû à ça. Mais la plupart des sites webs amateurs n'ont pas de protection contre la faille CSRF. Donc, je poursuis, en voyant les logs, on peut voir que c'est "vous" qui avez gradé l'utilisateur en question. Si on en revient aux faits, vous avez cliqué sur un lien, qui a gradé un utilisateur. Et ce lien peut poser problème dans un autre contexte. On va voir un autre cas pratique: Dans un forum, imaginons un utilisateur qui fait un post. Ce post a comme contenu une image qui n'est pas visible, vous vous dites sûrement que cette image est morte, mais vous regardez quand même le post. Plus tard, vous vous apercevez que certains de vos topics ont été supprimés. Le problème étant l'image, qui pointe vers une page .php, et cette page a le même principe que l'autre contexte, en revanche touche celui qui a vu l'image, sachant que lorsqu'une image est appelée, elle fait appel à la page PHP, et donc elle est interprétée. Vous allez me dire, supprimer la possibilité de mettre une page .php dans les images est une possibilité, mais ça ne change pas le problème de lorsqu'on clique sur un lien douteux ou que l'on reçoit une image douteuse. Enfin bref, nous allons voir par la suite comment régler ce problème. [HIDE] Je ne vais pas évoquer la façon dont on fait pour exploiter ces failles, mais plutôt comment régler ces failles. Le but de la faille étant de créer un formulaire distant. Ce formulaire distant étant lié au formulaire du site. Pour régler ce problème, on va étudier déjà la façon dont sont fait les systèmes de connexions à un espace membre basique en temps normal. Pour ma part, ça sera sous forme de classe et de fonction, mais ça reste presque le même principe, suffit d'imaginer les restrictions qui ne sont pas stockés dans une classe mais de façon procédurale. #region [Login] /** * @param string $username * @param string $password * @return array|bool */ public function Login($username, $password) { if(!$this->existValue('auth')) { if(!empty($username) && !empty($password)) { $username = htmlspecialchars($username); $searchUser = $this->db->query('SELECT * FROM alive_users WHERE username = ? OR mail = ?', [$username, $username]); // La fonction query est réecrite dans ma classe, elle correspond à un prepare() et execute() en PDO. if($searchUser->rowCount() > 0) { $user = $searchUser->fetch(); if(password_verify(htmlspecialchars($password), $user->password)) { // On utilise du BCrypt dans ce cas $this->setValue('auth', $user); // Équivalent: $_SESSION['auth'] = $user; $e = ['error' => false, 'message' => '5f6f1764f7c2c961654cfbdb8aed67fe735a96bc']; return $e; } else { $e = ['error' => true, 'message' => 'Mot de passe incorrect.']; return $e; } } else { $e = ['error' => true, 'message' => 'Compte introuvable.']; return $e; } } else { $e = ['error' => true, 'message' => 'Les champs ne sont pas remplit.']; return $e; } } else { $e = ['error' => true, 'message' => 'Erreur interne...']; return $e; } } #endregion Pour régler ce problème il va y avoir plusieurs étapes. On va d'abord rajouter une ligne lorsque la connexion est faite, là où on y rajoute le $_SESSION['auth'] = $user; La ligne en question est: $this->setValue('token', sha1(uniqid(rand(), TRUE))); // Équivalent: $_SESSION['token'] = sha1(uniqid(rand(), TRUE))); Ce code va permettre l'intégration d'un token CSRF. Ce token va servir aux vérifications lors des formulaires lorsqu'on est connecté. Chaque fois qu'on se connecte, on possède donc un token unique. Le but étant de pouvoir vérifier si l'utilisateur qui utilise le formulaire est bien la bonne personne. Une personne quelconque n'aura pas accès à votre token, et donc si le formulaire distant est crée, il ne pourra pas y mettre votre token. Vous allez comprendre par la suite. Maintenant, imaginons vous avez un formulaire une fois connecté pour disons... Ajouter votre adresse mail. <form method="POST" action="#"> <label for="form_mail">Entrez votre adresse mail</label> <input id="form_mail" type="text" name="mail"> <!-- On rajoute donc un champs en plus de type "hidden" qui va contenir notre token: --> <input type="hidden" name="token" value="<?= $user->getToken(); /* Ça correspond au $_SESSION['token'] qu'on a crée au préalable à la connexion. */ ?>"> </form> Dernière étape donc, c'est lorsqu'on va donc vérifier ce formulaire, on va devoir prendre en compte le token: <?php // Une fois de plus je reste sous forme de classe: Mais ça reste simple de vérifier votre code, il y a juste 1 vérification en plus à faire: public function addMail($postMail,$postToken) { $session = new Session(); // Appel de la classe Session que j'ai crée mais vous en aurez sûrement pas besoin if(filter_var($postMail, FILTER_VALIDATE_EMAIL)) { if($postToken === $session->getValue('token')) { // Si le $_POST['token'] correspond strictement à $_SESSION['token'] // Code } else { $e = ['error' => true, 'message' => 'Erreur interne...']; return $e; // Le token CSRF est incorrect } } else { $e = ['error' => true, 'message => 'L\'adresse mail est incorrect.']; return $e; } } ?> [/HIDE] C) Faille XSS Problématique: Imaginons que du jour au lendemain, suite à des gens ayant quelque bases qui se sont inscrit sur votre site, vous ayez des alert(); en javascript qui sont présent sur certaines pages de votre site mais pas que! Il est possible aussi que quelques minutes après avoir visité quelques pages, vous pouvez voir que la configuration est plus accessible, voir même que depuis l'administration, une fois de plus, c'est vous qui avez fait tout ça. Détrompez-vous, ce n'est pas quelqu'un qui a accès à votre mot de passe. Résolution: [HIDE] Dans certains cas, si on ne restreint pas les caractères autorisés, les membres ont la possibilité d'entrer des caractères pouvant entrer en conflit avec le langage HTML / Javascript. ( Le PHP n'est pas prit en compte. ) Cela peut même toucher le SQL si la requêtes n'est pas bien faite. Comme toujours j'avance pas de propos concernant la façon dont on exploite les failles mais comment les régler. Il existe donc plusieurs moyens pour régler ces genres de problèmes. 1er moyen: Utilisation d'un moteur de template: Les moteurs de templates sont réputés pour être utilisé en M.V.C ( Model View Controller ). J'utilise souvent Twig pour ma part mais il en existe d'autres. Ces moteurs de templates proposent leur propre langages qui seront retransmit en PHP si par exemple le CMS est en PHP ou en Python si le CMS est en Python, etc. Ça permet dans un premier temps une meilleur lisibilité du code, un rendement plus efficace et permet de découper son code afin de le rendre plus explicite si quelqu'un passe derrière nous afin d'améliorer notre travail. 2ème moyen: Fonction Parse en PHP C'est une fonction assez efficace qui va servir lorsqu'on va afficher du texte qu'on peut définir de "pas sûr". Lorsqu'un utilisateur s'inscrit, il va avoir la possibilité de choisir un pseudo. Certes, on peut rajouter un preg_match afin de lui demander d'utiliser que des lettres / chiffres ( [a-zA-Z0-9-._]+ ) en revanche ça peut facilement poser problème dans d'autres cas. Pour ma part une fois de plus j'ai une class "Security" possédant plusieurs fonctions liés à la sécurité, mais là on parle uniquement de la faille XSS. Ma fonction ressemble à ça, je vais la recoder en tant que fonction simple afin de vous simplifier la tâche, mais le mieux reste vraiment de structurer son travail et donc d'utiliser des classes. Ma fonction: /** * @param $val string * @return string */ public function Show($val){ return htmlspecialchars(utf8_encode($val), ENT_QUOTES, 'UTF-8'); } La fonction simplifiée: function Show($val){ return htmlspecialchars(utf8_encode($val), ENT_QUOTES, 'UTF-8'); } Si jamais vous utilisez des classes, il vous suffira d'utiliser un echo $security->Show($username); par exemple ( sans oublier d'instancier les classes ). Pour les autres, un simple Show($username);. Par contre il faut bien pousser sur le fait que chaque valeur provenant de la base de donnée et affichée, devrait vraiment utiliser cette fonction, sauf si vous êtes sûr de vous. Par la même occasion je vous invite aussi pour le nom d'utilisateur de rajouter un preg_match, cette fonction est générale et fonctionne dans tous les cas. Dernière chose, afin d'éviter les "?" avec les accents, etc. Vérifiez bien que votre base de donnée est en UTF8 -> utf8_general_ci. [/HIDE] Merci de prendre en considération que ce post m'a prit pas mal de temps à concevoir. Si le post est suivit par plusieurs personnes, je rajouterais d'autres types de failles.
  25. Salut à tous En se beau jour du 03/10/17, je vais vous "apprendre" comment régler un des plus gros soucis de PlusEMU, le chargement infini 76% Souvent le problème est lier au SWF, ou une mauvaise configuration de l'emulateur, mais aussi une mauvaise lecture pour les topic "Création de Retro" Souvent les utilisateurs oublie une chose essentiel, la configuration du port sur le Site (Administration) ou bien dans la base de donnée. Méthode RetroPHP : Rendez vous directement dans votre BDD, une fois dedans rendez vous dans "retrophp_swfs" et changer le port actuel par : 3030 Methode pour PlusEMU : Rendez vous dans vos SWF, et dans "gamedata". Et copier les fichiers "figuredata.xml & figuremap.xml" Après, rendez vous dans votre emulateur "bin, Debug, extra" Et collé les fichiers "figuredata.xml & figuremap.xml" Si cela ne marche toujours pas, regarde bien si tu as bien configurer tes SWF.
×
×
  • Créer...