Jump to content

Préparer un environnement complet pour créer et exploiter un serveur privé Metin2


Recommended Posts

  • Administrateur

init();

#include < introduction.>

{

 

Bonjour et bienvenue à toi sur le Master Guide ! Tu as apprécié  Le Guide des Modifications sur Metin2  ou encore  Le Guide de l'Émulation Metin2  ? Tu vas donc aimer  Master Guide Return  dans sa version dédié à l'installation du système d'exploitation FreeBSD et de la préparation de son environnement pour exploiter les ServerFiles sur un serveur privé Metin2. Ce guide est exclusivement compatible avec  Metin2 Project  . Vous ne connaissez pas M2 Project ? C'est le moment d'en savoir plus :  Metin2 Project  ?! Vous pouvez l'utiliser pour les autres ServerFiles à condition de mettre à jour les SourceFiles et les librairies de Metin2 et dépendra également de votre capacité à adapter le guide selon vos propres fichiers...

 

Objectifs()

{

  • Installer / Configurer / Gére@ FreeBSD
  • Installer / Configurer / Gérer @ MySQL
  • Installer / Configurer / Gérer @ M2 Project
  • Installer / Configurer / Utiliser @ PuTTY
  • Installer / Configurer / Utiliser @ WinSCP
  • Installer / Configurer / Utiliser @ Navicat
  • Installer / Configurer / Exploiter @ Environnement de Compilation
  • Installer / Configurer / Exploiter @ Environnement Web
  • Sauvegarder / Transférer / Migrer @ M2 Project

}

Entêtes()

{

  • #include < core.h >
  • #include < french.h >
  • #include < brain.h >
  • #include < learn.h >
  • #include < read.h >

}

}

#include < summary.>

{

Légende()

{

  • (§) Facultatif
  • (§) Obligatoire
  • (§) Alternatif

 

  • (§) Ne pas suivre si vous importez votre VM VirtualBox ( Mais ça ne vous empêche pas de lire... )
  • (§) Ne pas suivre si vous utilisez un serveur dédié ( Mais ça ne vous empêche pas de lire... )

}

Sommaire()

{

  • Installer Configurer / Gérer FreeBSD
    • 1.1 FreeBSD
      • 1.1.1 Avec VirtualBox
      • 1.1.2 Importer une VM VirtualBox
        • 1.1.2.1 Format .VDI / .VHD / .VMDK
        • 1.1.2.2 Format .OVA
      • 1.1.3 Sans VirtualBox
    • 1.2 Installer
      • 1.2.1 DNS
      • 1.2.2 PKG
      • 1.2.3 Nano
      • 1.2.4 WGet
      • 1.2.5 Python
      • 1.2.6 Librairies
    • 1.3 Configurer
      • 1.3.1 SSH
    • 1.4 Utiliser
      • 1.4.1 Nano
    • 1.5 Réseau / Internet
      • 1.5.1 IP Statique
      • 1.5.2 Récupérer l'IP
  • Installer Configurer / Utiliser PuTTY
  • Installer Configurer / Utiliser WinSCP
  • Installer Configurer / Gérer MySQL
    • 4.1 Installer
    • 4.2 Configurer
      • 4.2.1 Démarrer MySQL
      • 4.2.2 Première Connexion
    • 4.3 Créer une Base de Données
    • 4.4 Créer un Utilisateur
      • 4.4.1 Utilisateur Local
      • 4.4.2 Utilisateur Publique
    • 4.5 Permissions / Droits d'Accès
  • Installer Configurer / Utiliser Navicat
  • Installer Configurer / Gérer M2 Project
    • 6.1 Installer
      • 6.1.1 ServerFiles / SourceFiles
      • 6.1.2 Base de Données
    • 6.2 Configurer
      • 6.2.1 ServerFiles
        • 6.2.1.1 Créer un Compte
        • 6.2.1.2 Permissions GM
        • 6.2.1.3 Gestionnaire Metin2|M2 SH|M2 Manager
      • 6.2.2 ClientFiles
        • 6.2.2.1 DePack / UnPack / RePack
          • 6.2.2.1.1 Méthode EterNexus
            • 6.2.2.1.1.1 Configurer
            • 6.2.2.1.1.2 DePack / UnPack
            • 6.2.2.1.1.3 RePack / Pack
          • 6.2.2.1.2 Méthode EterManager
            • 6.2.2.1.2.1 Configurer
            • 6.2.2.1.2.2 Fonctionnalités
            • 6.2.2.1.2.3 DePack / UnPack
            • 6.2.2.1.2.4 RePack / Pack
        • 6.2.2.2 Configurer l'IP
    • 6.3 Gérer
      • 6.3.1 ServerFiles
      • 6.3.2 QuestFiles
      • 6.3.3 SourceFiles
      • 6.3.4 Divers
  • Environnement Web
    • 7.1 Nom de Domaine
    • 7.2 Installer
      • 7.2.1 Apache
      • 7.2.2 PHP
      • 7.2.3 Certbot
    • 7.3 Configurer
      • 7.3.1 Apache
      • 7.3.2 PHP
      • 7.3.3 Certbot
      • 7.3.4 Hôtes Virtuels
    • 7.4 HTTP Versus HTTPS
  • Environnement de Compilation
    • 8.1 FreeBSD
      • 8.1.1 Installer
      • 8.1.2 Configurer
      • 8.1.3 Préparer
      • 8.1.4 Compiler
    • 8.2 Windows
      • 8.2.1 Installer
      • 8.2.2 Préparer
      • 8.2.3 Compiler
  • Sauvegarder / Transférer / Migrer
    • 9.1 Sauvegarder
      • 9.1.1 ServerFiles / SourceFiles
      • 9.1.2 Base de Données
    • 9.2 Transférer
      • 9.2.1 Méthode SCP
        • 9.2.1.1 Depuis le serveur Source
        • 9.2.1.2 Depuis le serveur Cible
      • 9.2.2 Méthode TAR
      • 9.2.3 Méthode SQL
    • 9.3 Migration

}

}

CMasterGuide::Init()

{

 

Révélation

 

spacer.png

 

Toi aussi tu cherches à concevoir un serveur de notre MMORPG préféré ?! Grâce à ce guide, tu sauras à la fin de ce dernier, créer, gérer et modifier ton serveur Metin2 comme bon te semble !

 

Un peu de théorie ! Une certaine aisance en informatique est recommandée pour mener à bien la quête que tu mènes. Metin2 utilise plusieurs langages de programmation pour fonctionner, tels que le LUA, le Python, C, C++ et le SQL.

 

Nous avons la chance de posséder la source de Metin2, c'est-à-dire qu'avec la source et quelques connaissances dans la programmation, tu seras capable de concevoir tes propres systèmes, ajouter des classes de personnages, ajouter des royaumes et pleins d'autres choses ! En soit, grâce à la source, tu auras un contrôle complet sur le jeu ! Cette partie est réservée aux personnes ayant des connaissances dans la programmation. La programmation nécessite de l'analyse et de la compréhension sur les erreurs et les informations qui sont transmises par le compilateur indépendamment des tutoriels et des partages proposés...

 

Je tiens à te rassurer sur un point, pour débuter, il n'est pas nécessaire de travailler sur la source de Metin2, la source doit être utilisée que si tu souhaites te démarquer et dépend principalement du type de jeu que tu souhaites offrir à tes joueurs ou simplement de corriger des bugs qui nécessitent de faire des modifications sur la source.

 

La création d'un serveur Metin2 commence par l'émulation d'un système d'exploitation en plus du tiens, FreeBSD. FreeBSD est un système d'exploitation de type UNIX, sur lequel tourne majoritairement les server files de Metin2. C'est l'émulation d'un second système d'exploitation qui consomme des ressources en processeur, en mémoire vive et en stockage sur le système hôte, c'est-à-dire, ton ordinateur. Si tu utilises un serveur dédié, tu installeras directement FreeBSD en tant que système d'exploitation principal sans passer par Windows !

 

Tu as la possibilité de t'auto-héberger et de l'installer sur ton ordinateur si ce dernier est suffisamment performant. Une utilisation locale pour des tests sera recommandée puis l'acquisition d'un serveur dédié chez un hébergeur tel que OVH, SoYouStart ou encore Kimsufi pour une utilisation publique avec des joueurs, moyennant quelques euros par mois.

 

Installer / Configurer / GérerFreeBSD (§) (§) (§)

{

 

Révélation

 

  Ne pas suivre si vous utilisez un serveur dédié  

  Ne pas suivre si vous importez votre VM VirtualBox  

 

Les server files peuvent fonctionner autant sous Windows que sous FreeBSD qui sont tous les deux des systèmes d'exploitation. FreeBSD est système libre, tout comme Debian, Fedora qui sont utilisés majoritairement pour concevoir des serveurs web, mails car ils ne possèdent pas d'interface graphique et ils sont moins énergivores. Ils s'utilisent principalement en ligne de commandes avec PuTTY ! La version fonctionnant sous FreeBSD étant la plus répandue, c'est là dessus que nous allons partir pour créer notre serveur privé Metin2 !

 

Que choisir, avec ou sans virtualbox ? Mais... Virtualbox c'est quoi ? Oracle VM VirtualBox est un logiciel libre de virtualisation publié par Oracle. Il permet de créer des ordinateurs virtuels sur lequel on peut installer le système d'exploitation de son choix. La machine virtuelle n'a pas de contact avec le système hôte, c'est-à-dire, ton ordinateur. L'utilisation de virtualbox requière que ton ordinateur soit performant car il consommera des ressources, CPU, RAM et en stockage de ce dernier.

 

  • Si tu n'as pas de serveur chez un hébergeur, choisi avec virtualbox...
  • Si tu as un serveur ou que tu passes d'un serveur sous virtualbox à un serveur publique, choisi sans virtualbox...
  • Si tu es débutant et que tu veux apprendre : choisi avec virtualbox...
  • Si tu dispose déjà d'une machine virtuelle virtualbox : choisi importer une machine virtuelle virtualbox...

 

 

1.1 FreeBSD (§)

{

1.1.1 Avec VirtualBox (§) (§) (§) (§)

{

Révélation

 

  Ne pas suivre si vous utilisez un serveur dédié  

  Ne pas suivre si vous importez votre VM VirtualBox  

  Télécharger l'ISO FreeBSD 12.1    Télécharger VirtualBox    Site de FreeBSD  

 

Pour commencer, tu cliques sur : Nouvelle...

 

spacer.png

 

spacer.png

 

Concernant la mémoire vive, pour un meilleur fonctionnement des files il est recommandé d'attribuer 4Gb de RAM à votre VM VirtualBox.

 

spacer.png

 

spacer.png

 

spacer.png

 

spacer.png

 

La taille que tu indiques est la taille maximale du disque dur virtuel, VDI. La taille sera dynamiquement allouée et la taille du fichier .VDI s'ajustera en fonction des données que tu transféras sur ta VM VirtualBox.

 

spacer.png

 

spacer.png

 

Clique sur le nom de ta VM VirtualBox puis clique sur Configuration. Cette partie est très importante, c'est là que tu donnes à ta VM VirtualBox le pouvoir de se connecter au monde et tous nous contrôler. Tu dois cliquer sur Réseau et tu dois choisir Accès par pont puis sélectionner la carte réseau principale que ton ordinateur utilise, es-tu en WiFi ou Ethernet ?

 

spacer.png

 

Vous devez ici spécifier l'image disque .ISO de notre installation FreeBSD.

 

spacer.png

 

spacer.png

 

spacer.png

 

spacer.png

 

0.png


1.png

 

Le Français c'est mieux, nan ?


2.png

 

man forums GIF

 

MiaW Corporation


3.png


4.png


5.png


6.png


7.png


8.png


9.png


10.png

 

C'est écrit en anglais, mais juste au cas ou : quand vous saisissez le mot de passe de l'utilisateur root, ce dernier ne s'affichera pas à votre écran, c'est normal.


11.png


12.png


13.png


14.png


15.png


16.png

 

Ce sont les paramètres DNS

 

  • 1.1.1.1 correspond au DNS CloudFlare
  • 8.8.8.8 correspond au DNS Google
  • 8.8.4.4 correspond au DNS Google


17.png


18.png


19.png


20.png


21.png


22.png


23.png


24.png


25.png


26.png


27.png


28.png

 

N'oubliez pas d'éjecter le disque optique virtuel, sinon VirtualBox relancera le processus d'installation de FreeBSD. Lors du redémarrage de la VM VirtualBox, sur l'onglet Périphériques > Lecteurs Optiques > Éjecter le disque du lecteur virtuel.

 

Si vous n'avez pas été assez rapide, pas de panique. Éjecter tranquillement autour d'un café le disque du lecteur virtuel puis sur l'onglet Machine > Redémarrage et confirmer.

 

spacer.png

 

}

1.1.2 Importer une VM VirtualBox (§) (§) (§)

{

 

Révélation

 

  Ne pas suivre si vous utilisez un serveur dédié  

  Télécharger VirtualBox  

 

Il existe plusieurs moyens de fournir une VM VirtualBox, aucune n'est mauvaise, seul la façon de l'ajouter à votre liste diffère. Il en existe actuellement deux façons, selon le format de fichier que vous avez, choisissez la méthode qui convient le mieux !

 

  • Fournir le disque dur virtuel brute au format .VDI, .VHD ou encore .VDMK.
  • Exporter la VM VirtualBox au format .OVA.

 

 

1.1.2.1 Format .VDI / .VHD / .VMDK (§) (§) (§)

{

Révélation

 

  Ne pas suivre si vous utilisez un serveur dédié  

  Télécharger VirtualBox  

 

Si vous avez une VM VirtualBox avec un fichier .VDI, .VHD ou encore un .VDMK, vous avez donc en main, le disque dur virtuel de votre VM VirtualBox. Occupons nous de l'importer, pour cela, clique sur Nouvelle :

 

spacer.png

 

spacer.png

 

Concernant la mémoire vive, pour un meilleur fonctionnement des files il est recommandé d'attribuer 4Gb de RAM à votre VM VirtualBox.

 

spacer.png

 

spacer.png

 

spacer.png

 

spacer.png

 

spacer.png

 

spacer.png

 

Clique sur le nom de ta VM VirtualBox puis clique sur Configuration. Cette partie est très importante, c'est là que tu donnes à ta VM VirtualBox le pouvoir de se connecter au monde et tous nous contrôler. Tu dois cliquer sur Réseau et tu dois choisir Accès par pont puis sélectionner la carte réseau principale que ton ordinateur utilise, es-tu en WiFi ou Ethernet ?

 

spacer.png

 

Valider, puis faites Démarrer après avoir sélectionner votre VM VirtualBox. Celle-ci... Démarrera !

Vous retrouverez les identifiants sur le sujet d'ou vous avez pris votre VM VirtualBox. 

 

spacer.png

 

}

1.1.2.2 Format .OVA (§) (§) (§)

{

Révélation

 

  Ne pas suivre si vous utilisez un serveur dédié  

  Télécharger VirtualBox  

 

Si vous avez une VM VirtualBox avec un fichier .OVA, c'est une solution bien plus rapide qu'un importation classique. En effet, VirtualBox s'occupe de tout. Concernant la mémoire vive, pour un meilleur fonctionnement des files il est recommandé d'attribuer 4Gb de RAM à votre VM VirtualBox. Pour cela, vous avez juste à double cliquer sur le fichier .OVA, VirtualBox ouvrira ce fichier vous proposera de l'importer :

 

spacer.png

 

Cliquer sur : Importer

 

spacer.png

 

Tadam...

 

spacer.png

 

Clique sur le nom de ta VM VirtualBox puis clique sur Configuration. Cette partie est très importante, c'est là que tu donnes à ta VM VirtualBox le pouvoir de se connecter au monde et tous nous contrôler. Tu dois cliquer sur Réseau et tu dois choisir Accès par pont puis sélectionner la carte réseau principale que ton ordinateur utilise, es-tu en WiFi ou Ethernet ?

 

spacer.png

 

Valider, puis faites Démarrer après avoir sélectionner votre VM VirtualBox. Celle-ci... Démarrera !

Vous retrouverez les identifiants sur le sujet d'ou vous avez pris votre VM VirtualBox. 

 

spacer.png

 

}

}

1.1.3 Sans VirtualBox (§) (§) (§)

{

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

 

Sans VirtualBox ? Mais tu vas faire comment ? L'Installation de FreeBSD chez les hébergeurs sont différentes, en général la configuration par défaut est suffisante. Je te recommande d'utiliser dans le meilleurs des cas l'installation de FreeBSD 12.1, cette version est actuellement utilisée dans ce guide. Ton hébergeur doit te communiquer plusieurs informations afin de pouvoir te connecter à ton serveur via PuTTY. Ton hébergeur, lors de l'installation peut également te demander la création d'un autre utilisateur autre que le compte principal qui est root.

 

  • L'Adresse IPv4...
  • Le port SSH s'il n'a pas été modifié : 22...
  • Le mot de passe de l'utilisateur root ou d'un autre utilisateur ayant des privilèges...

 

}

}

1.2 Installer (§) (§)

{

1.2.1 DNS (§) (§)

{

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

  Il est possible que cette modification soit déjà effective  

 

DNS ? Hein ?! C'est le fichier de configuration de la bibliothèque resolver permettant de déterminer, entre autre, quels serveurs DNS le serveur va utiliser. Vous pouvez remplacer la configuration celle ci :

ee /etc/resolv.conf

Puis remplacer par la configuration suivante :

nameserver 1.1.1.1
nameserver 8.8.4.4
nameserver 8.8.8.8
nameserver 127.0.0.1

Pour enregistrer : CTRL + C

Puis écrivez : exit

 

Tadam...

 

}

1.2.2 PKG (§) (§)

{

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

  Il est possible que cette modification soit déjà effective  

 

PKG ? Hein ? C'est quoi ? PKG est un gestionnaire de paquet. Grâce à lui, on peut installer des paquets, c'est à dire des programmes que l'on peut utiliser sous FreeBSD. PKG est lui même un programme. Cependant, lors d'une installation récente de FreeBSD, il est possible que le gestionnaire de paquet ne soit pas activé ou installé par défaut. Un avantage de PKG est le fait qu'il installe automatiquement les dépendances des programmes que l'on souhaite installer ! Sur ta VM VirtualBox, écris ceci :

pkg -y

Si cela t'indique :

Ignore the mismatch and continue ? [ Y / n ] :

Écris ceci :

y

Le gestionnaire de paquet est désormais installé et activé. Nous allons le mettre à jour, pour cela, écris ceci :

pkg update

Si cela t'indique :

Ignore the mismatch and continue ? [ Y / n ] :

Écris ceci :

y

PKG est désormais installé, activé et à jour.

 

}

1.2.3 Nano (§) (§)

{

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

 

Nano ? NanoPeni... ? Nano est un éditeur de texte simple à utiliser en ligne de commande sous FreeBSD ! Nous allons l'utiliser pour paramétrer notre installation et comme son nom l’indique, il est... léger ! Sur ta VM VirtualBox, exécute cette commande :

pkg install -y nano

Nano est désormais installé et activé... Nous l'utiliserons prochainement pour éditer des fichiers de configuration.

 

}

 

1.2.4 WGet (§) (§)

{

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

 

WGet ? WebGet ! WGet est similaire à fetch, ils font exactement la même chose ! Son utilité ? Il permet à FreeBSD de télécharger un contenu sur internet, pratique pour télécharger directement sur ton serveur un archive ! Sur ta VM VirtualBox, exécute cette commande :

pkg install -y wget

WGet est désormais installé et activé... Nous l'utiliserons prochainement...

 

}

1.2.5 Python (§) (§)

{

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

 

national geographic tongue GIF by Nat Geo Wild

 

Python ? Python est un langage de programmation interprété, multi-paradigme et multiplateformes. Il favorise la programmation impérative structurée, fonctionnelle et orientée objet. Sur ta VM VirtualBox, exécute cette commande :

pkg install -y python27

Python 2.7 est désormais installé et activé... Nous l'utiliserons principalement pour la compilation des quêtes...

 

}

1.2.6 Librairies (§)

{

Révélation

 

  A suivre si seulement vous avez un dysfonctionnement lié aux librairies  

  Télécharger manuellement des librairies  

 

Une bibliothèque ou librairie logicielle est un ensemble de fonctions utilitaires, regroupées et mises à disposition afin de pouvoir être utilisées sans avoir à les réécrire. Les bibliothèques sont manipulées par l'éditeur de lien et le système d'exploitation. Les manipulations sont différentes suivant que la bibliothèque est statique ou partagée. Les emplacements et les noms des bibliothèques varient selon les systèmes d'exploitation.

 

Nous allons installer des librairies, celles de FreeBSD 12.1 :

wget ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/12.1-RELEASE/lib32.txz

Patientez pendant le téléchargement puis :

tar Jxpvf lib32.txz -C /

Enfin, il est inutile de s'encombrer avec le fichier que votre serveur a téléchargé, pour le supprimer :

rm lib32.txz

Si vous avez toujours ce dysfonctionnement sur une librairie que votre serveur ne trouve pas vous avez également la possibilité de l'installer manuellement si vous disposer de la libraire dans une archive personnelle ou télécharger sur l'univers de l'internet. Vous devez alors transférer les librairies qui vous sont demandés :

 

  • 64 Bits Répertoire /usr/lib
  • 32 Bits : Répertoire /usr/lib32

 

Nous n'avez plus qu'à relancer votre programme et prier vos orteils que cela fonctionne. Amen...

 

  NE   JAMAIS   REMPLACER   UNE   LIBRAIRIE   EXISTANTE  

 

}

}

1.3 Configurer (§) (§)

{

1.3.1 SSH (§) (§)

{

Révélation

 

  Si vous êtes sur serveur dédié, il est possible que la modification soit déjà effective  

  Ne pas suivre si vous importez votre VM VirtualBox  

 

SSH ? Quésaco ? Secure Shell est à la fois un programme informatique et un protocole de communication sécurisé. Nous utilisons SSH pour se connecter au serveur avec PuTTY en ligne de commandes ou encore via WinSCP en SFTP pour les transferts de fichiers par exemple... Nous allons modifier la configuration de SSH afin de permettre à l'utilisateur root de s'y connecter.

 

Sur ta VM VirtualBox, écris ceci :

nano /etc/ssh/sshd_config

Chercher :

#PermitRootLogin no

Remplacer :

PermitRootLogin yes

Enregistre la configuration.

Configuration de SSH terminé, nous allons redémarrer le service afin qu'il puisse prendre en compte les modifications, pour cela, écris ceci :

service sshd restart

Si cela t'indique :

Starting sshd...

Tout est bon, nous sommes désormais capable de se connecter au serveur en SSH avec notre utilisateur principal : root.

 

}

}

1.4 Utiliser (§)

{

1.4.1 Nano (§)

{

Révélation

 

  Nécessite d'avoir suivi au préalable : 1.2.2 Nano  

 

Nano, ce petit éditeur de texte en ligne de commande est simple à utiliser, pour éditer un fichier de configuration, nous utiliserons toujours ce patron :

nano /directory/file.extension

Pour se déplacer au sein d'un fichier texte avec Nano, nous devons utiliser les flèches directionnelles, quand il faudra enregistrer le fichier, il faudra faire la combinaison sur votre clavier :

CTRL + X

Il vous sera proposer ensuite :

Save modified buffer ?
Y Yes
N No
C Cancel

Vous devrez écrire la lettre correspondante à votre choix :

 

  • Y pour accepter et enregistrer
  • N pour refuser et quitter nano
  • C pour annuler et continue l'édition

 

Lorsque vous accepter et enregistrer, Nano vous demandera de confirmer que le fichier que vous souhaitez remplacer :

File Name to Write : /directory/file.extension

Vous devez confirmer avec cette touche de votre clavier :

ENTER

Félicitations, tu connais Nano par cœur !

 

}

}

1.5 Réseau / Internet (§) (§)

{

1.5.1 IP Statique (§) (§)

{

Révélation

 

  Ne pas suivre si vous utilisez un serveur dédié  

 

wAllah le DHCP de ton routeur n'arrête pas de changer l'IP de ta VM VirtualBox et tu te tires les cheveux tous les jours ? J'ai la solution ! Mais avant toute chose, le DHCP c'est quoi ? Le DHCP pour Dynamic Host Configuration Protocol est un protocole réseau dont le rôle est d'assurer la configuration automatique des paramètres IP d'une machine, notamment en lui attribuant automatiquement une adresse IP et un masque de sous-réseau... Désactivons le DHCP, Fantaaastic n'est-ce pas ?

 

Sur ta VM VirtualBox, écris ceci :

bsdconfig

 

0000001.png


0000002.png


0000003.png


0000004.png

 

Il faut désactiver l'option DHCP et vous devez tout simplement enregistrer.

Votre VM VirtualBox restera configurée sur l'adresse IP actuellement présente dans le champ : ipaddr.


0000005.png


0000006.png

 

spacer.png

 

Tu dois entrer la passerelle par défaut de ton  routeur. Pour cela, sur ton ordinateur, tu dois faire la combinaison clavier suivante : WINDOWS + R et tu écris CMD. Une fenêtre doit s'ouvrir, tu es sur l'Interpréteur de Commandes Windows ! Écris ceci :

ipconfig

Tu dois récupérer le champ : Passerelle par défaut qui est lié à ta connexion, pour cela, es-tu en WiFi ou en Ethernet ? Pour t'aider, en général les passerelles par défaut sont les suivantes : 192.168.0.1 ou 192.168.0.254 ou 192.168.1.1 ou encore 192.168.1.254... Vérifie celle que ton routeur possède !

 

spacer.png


0000007.png


0000008.png

 

Votre VM VirtualBox a désormais une adresse IP qui sera fixe et ne changera plus...

 

}

1.5.2 Récupérer l'IP (§) (§)

{

Révélation

 

  Ne pas suivre si vous utilisez un serveur dédié  

 

Récupérer l'IP ? Comment ça ? Tu l'as perdu ? Nan, c'est pas vrai ? Nous avons besoin de connaitre l'adresse IP de la VM VirtualBox afin de pouvoir s'y connecter, que ça soit pour PuTTY, WinSCP, Navicat ou tout simplement via le ClientFiles Metin2. Rien de plus simple, pour cela, exécute cette commande :

ifconfig

Exemple :

root@metin2:/usr/m2_project # ifconfig
igb0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=6403bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
        ether 00:08:a2:0c:8f:90
        hwaddr 00:08:a2:0c:8f:90
        inet 51.159.70.28 netmask 0xffffff00 broadcast 51.159.70.255
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
        inet 127.0.0.1 netmask 0xff000000
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
        groups: lo
root@metin2:/usr/m2_project #

Dans mon exemple, la ligne ou l'adresse IP est indiqué se nomme igb0 ou similaire selon la configuration matériel. Tu dois récupérer l'IP qui se situe juste après le inet. C'est l'adresse IP de ta VM VirtualBox ou celle de ton dédié...

 

}

}

}

Installer / Configurer / Utiliser PuTTY (§)

{

Révélation

 

  Télécharger PuTTY  

 

PuTTY est un client SSH et telnet, il va te permettre de te connecter à ton serveur en SSH. Cela évite d'avoir l'interface VirtualBox, PuTTY est bien plus ergonomique si l'on souhaite copier / coller des commandes... Convaincu ? Alors Alons-y Alonso ! Son utilisation est simple.

 

spacer.png

 

  1. Entrer l'adresse IP dans le champ Host Name
  2. Entrer le port SSH dans le champ Port ( Défaut : 22 )
  3. Entrer un nom que vous souhaitez dans le champ : Saved Sessions
  4. Cliquer sur le bouton Save et c'est terminé...

 

Il ne vous reste plus qu'à faire un double clique sur le serveur enregistré de votre choix. PuTTY vous demandera le nom d'utilisateur ainsi que le mot de passe de votre utilisateur FreeBSD. Il peut également vous demander de confirmer la connexion au serveur SSH et vous annoncer un problème de sécurité, pas de panique, cliquez sur Oui.

 

spacer.png

 

}

Installer / Configurer / Utiliser WinSCP (§)

{

Révélation

 

  Télécharger WinSCP  

 

WinSCP ? C'est quoi ?! WinSCP est un client SFTP graphique pour Windows. Il utilise SSH et est open source. Le protocole SCP est également supporté. Le but de ce programme est de permettre la copie sécurisée de fichiers entre un ordinateur local et un ordinateur distant. Nous l'utiliserons pour y transférer des fichiers par exemple. La configuration, identique à celle de PuTTY est simple :

 

spacer.png

 

  1. Entrer l'adresse IP dans le champ : Nom d'hôte
  2. Entrer le port SSH dans le port : Numéro de port ( Défaut : 22 )
  3. Entrer le nom d'utilisateur : root : dans le champ : Nom d'utilisateur
  4. Entrer le mot de passe de : root : dans le champ : Mot de passe
  5. Cliquer sur le bouton : Sauver...

 

spacer.png

 

  1. Entrer le nom que vous souhaitez dans le champ : Enregistrer la session sous
  2. Cocher la case : Enregistrer le mot de passe (non recommandé)
  3. Cliquer sur le bouton : OK

 

Il ne vous reste plus qu'à faire un double clique sur le serveur enregistré de votre choix. WinSCP se connectera automatiquement grâce au nom d'utilisateur ainsi que le mot de passe qui ont été enregistrés. Il peut également vous demander de confirmer la connexion au serveur SFTP et vous annoncer un problème de sécurité, pas de panique, cliquez sur Oui.

 

spacer.png

 

}

Installer / Configurer / Gérer MySQL (§) (§)

{

4.1 Installer (§) (§)

{

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

 

MyKOI ? MySQL, c'est un gestionnaire de base de données, c'est lui qui enregistre toutes les informations relatives à vos comptes, vos personnages, inventaires... Il utilise ce qu'on appelle le langage SQL. Sans lui on ne serait rien ! Merci qui ? Merci MySQL ! Il existe d'autre serveurs SQL tel que PostgreSQL, Oracle, SQLite, MariaDB... Bien, maintenant, installons le Saint-Graal... Pour cela, sur PuTTY, exécute cette commande :

pkg install -y mysql80-server mysql80-client

Bon bah... Voilà, c'est fait !

 

}

4.2 Configurer (§) (§)

{

4.2.1 Démarrer MySQL (§) (§)

{

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

 

Maintenant qu'il est installé, il serait peut-être temps de le démarrer, non ? Qu'est-ce que tu attends bordel ? Par défaut, MySQL ne démarre pas au démarrage du système. Pour cela nous allons demander à FreeBSD de le démarrer à chaque démarrage de ce dernier,  sur PuTTY :

sysrc mysql_enable="YES"

Il nous reste une dernière modification à faire afin de pouvoir exploiter MySQL...

nano /usr/local/etc/mysql/my.cnf

Cherche :

bind-address = 127.0.0.1

Remplacer :

#bind-address = 127.0.0.1

Enregistre et il nous reste plus qu'à lancer notre serveur MySQL afin que la modification soit prise en compte !

service mysql-server start

Si tu as obtenu ce message :

Starting mysql...

MySQL est opérationnel.

 

}

4.2.2 Première Connexion (§) (§)

{

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

 

MySQL est démarré, il est temps de passer à sa configuration. Nous allons modifier le mot de passe de l'utilisateur local MySQL : root.

mysql_secure_installation

Si cela t'indique

VALIDATE PASSWORD PLUGIN can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD plugin ?
Press y | Y for Yes, any other key for No :

Tu écris :

n

Si cela t'indique :

Using existing password for root...
Change the password for root ? ((Press y | Y for Yes, any other key for No) :

Tu écris :

y

A cette étape, il doit te demander un nouveau mot de passe que tu devrais confirmer deux fois Tout comme l'installation de FreeBSD, tu ne verras pas le mot de passe s'affiche, c'est normal.

New password : 

Si cela t'indique :

Remove anonymous users ? (Press y | Y for Yes, any other key for No) :

Tu écris :

y

Si cela t'indique :

Disallow root login remotely ? (Press y | Y for Yes, any other key for No) :

Tu écris :

n

Si cela t'indique :

Remove test database and access to it ? (Press y | Y for Yes, any other key for No) :

Tu écris :

y

Si cela t'indique :

Reload privilege tables now ? (Press y | Y for Yes, any other key for No) :

Tu écris :

y

MySQL est paramétré et le mot de passe de l'utilisateur local root a été modifié !

 

}

}

4.3 Créer une Base de Données (§) (§)

{

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

 

Nous devons créer les bases de données afin que notre serveur Metin2 puisse y enregistrer les informations dont il a besoin... Commençons ! Nous allons tout abord nous connecter à MySQL en ligne de commande :

mysql -u root -p

Si cela t'indique :

Enter password :

Inscris le mot de passe que tu as choisi tout à l'heure. Tout comme l'installation de FreeBSD, tu ne verras pas le mot de passe s'affiche, c'est normal. Metin2 utilise plusieurs base de données, maintenant exécute chaque ligne individuellement sur PuTTY :

CREATE DATABASE metin2;
CREATE DATABASE metin2_2014;

Pour chaque ligne, cela doit t'indiquer :

Query OK, 1 row effected (0.00 sec)

Si c'est le cas, tu as bien créer les bases de données que Metin2 utilise pour fonctionner ! Pour finir :

exit;

Nous venons de quitter MySQL.

 

}

4.4 Créer un Utilisateur (§) (§)

{

 

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

 

MySQL sépare les accès en deux types d'utilisateurs :

 

  • Local ( Localhost )
    • Un utilisateur local peut se connecter au serveur MySQL exclusivement en local et ne sera pas autorisé à se connecter depuis l'extérieur, c'est utile pour confiné(eee), enfermé(eee), je ne sortirai plus jama(iii)s, un utilisateur. Un utilisateur local qui essaierai de se connecter depuis l'extérieur aura une erreur lui indiquant que ses accès ne sont pas habilités.

 

  • Publique ( % / IP )
    • Un utilisateur publique peut se connecter au serveur MySQL autant en local qu'en externe. L'usage du type d'utilisateur dépend du niveau de sécurité que vous souhaitez mettre en place. Vous pouvez également définir une IP à partir de laquelle le compte est autorisé à se connecter, attention aux IP dynamique. Le joker % acceptera toutes les IP.

 

 

4.4.1 Utilisateur Local (§) (§)

{

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

 

Nous avons installé MySQL, configuré et créer les bases de données, on fait quoi maintenant ? Patience. Nous allons désormais créer les utilisateurs MySQL afin de faire fonctionner nos ServerFiles Metin2. Pour cela, connectons nous à MySQL, encore en ligne de commande, oui je me répète...

mysql -u root -p

Si cela t'indique :

Enter password :

Je pense qu'à ce stade, tu sais quoi faire, non ? Nous allons créer notre premier utilisateur local. L'utilisateur qui sera utilisé par les ServerFiles Metin2.

CREATE USER 'metin2'@'localhost' IDENTIFIED BY '@METIN2!';
CREATE USER 'metin2_2014'@'localhost' IDENTIFIED BY '@METIN2!';

Si cela t'indique :

Query OK, 0 rows affected (0.00 sec)

Tu écris :

exit;

Nous venons de quitter MySQL.

 

}

4.4.2 Utilisateur Publique (§) (§)

{

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

 

Nous allons créer notre deuxième utilisateur publique que nous utiliserons pour nous connecter depuis par exemple : Navicat, un logiciel de gestionnaire de base de données sous Windows, il est recommandé de ne pas utiliser le même nom d'utilisateur, ni le même mot de passe qu'un utilisateur local existant :

mysql -u root -p

Si cela t'indique :

Enter password :

 

Tu écris ton mot de passe puis ceci, à cette étape, vous pouvez personnaliser le mot de passe !

CREATE USER 'metin2'@'%' IDENTIFIED BY '@METIN2!';
CREATE USER 'metin2_2014'@'%' IDENTIFIED BY '@METIN2!';

Si cela t'indique :

Query OK, 0 rows affected (0.00 sec)

Nous sommes bon, tu peux écrire :

exit;

Nous venons de quitter MySQL.

 

}

}

4.5 Permissions / Droits d'Accès (§) (§)

{

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

 

Avoir une base de données, c'est bien... Avoir un Utilisateur MySQL c'est bien, aussi... Mais avoir le droit de modifier une base de données, c'est mieux non ? Nous allons corriger ça dès maintenant !

mysql -u root -p

Si cela t'indique :

Enter password :

Ton mot de passe bordel, il faut te le dire combien de fois ? Nous allons passer à l'attribution des droits et permissions sur nos bases de données sur le ou les utilisateurs de notre choix... Exécute ces lignes individuellement 

GRANT ALL PRIVILEGES ON metin2.* TO 'metin2'@'localhost';
GRANT ALL PRIVILEGES ON metin2.* TO 'metin2'@'%';
GRANT ALL PRIVILEGES ON metin2_2014.* TO 'metin2'@'localhost';
GRANT ALL PRIVILEGES ON metin2_2014.* TO 'metin2'@'%';

Tu dois obtenir ce message pour chaque ligne :

Query OK, 0 rows affected (0.00 sec)

Nous allons désormais valider nos permissions avec :

FLUSH PRIVILEGES;

Tu dois a nouveau obtenir ceci :

Query OK, 0 rows affected (0.00 sec)

Enfin, il ne reste plus qu'à se déconnecter de MySQL :

exit;

Nous venons de quitter MySQL.

 

}

}

Installer / Configurer / Utiliser Navicat (§)

{

Révélation

 

  Télécharger Navicat  

 

Navicat ? Navicat est une suite logicielle graphique de gestion et de développement de bases de données, il va nous permettre de gérer nos bases de données et les données qui y sont stockées. Navicat ne se limite pas qu'à MySQL, il est également capable de se connecter à d'autre serveurs SQL tel que PostgreSQL, Oracle, SQLite, MariaDB...

 

spacer.png

 

Tu vas voir, c'est simple !

 

  • Entrer le nom que tu souhaites dans le champ : Connection Name
  • Entrer l'adresse IP dans le champ : Host
  • Entrer le port MySQL dans le champ : Port ( Défaut : 3306 )
  • Entrer le nom d'utilisateur d'un compte publique dans le champ : User Name
  • Entrer le mot de passe associer à votre utilisateur dans le champ : Password
  • Cocher la case : Save password

 

spacer.png

 

Afin de s'assurer que la connexion s'établit bien, tu peux cliquer sur le bouton : Test Connection, si tu as ce message ci-dessous, tout est bon ! Il ne reste plus qu'à confirmer en cliquant deux fois sur les boutons : OK.

 

spacer.png

 

Pour se connecter à un serveur MySQL, il te suffit de double cliquer dessus, dans la partie gauche du programme.

 

}

Installer / Configurer / Gérer M2 Project (§) (§)

{

6.1 Installer (§) (§)

{

6.1.1 ServerFiles / SourceFiles (§) (§)

{

Révélation

Installer les ServerFiles M2P, bah c'est simple ! Vous devez tout simplement récupérer l'archive de vos ServerFiles au format .TAR et les envoyer dans le répertoire racine de votre serveur FreeBSD, puis nous allons extraire l'archive avec cette commande :

cd /usr && mkdir m2_project && cd /usr/m2_project

Transférer votre archive dans le répertoire suivant :

/usr/m2_project

Puis pour extraire :

tar xvf M2SF_M2SRCSF.tar

Rapide & Efficace...

}

6.1.2 Base de Données (§) (§)

{

Révélation

Installer les bases de données est relativement simple, vous devez vous connecter sur votre serveur MySQL à l'aide de Navicat puis d'ouvrir chacune de vos bases de données puis :

 

spacer.png

 

Sélectionner le fichier .SQL associé au nom de votre base :

 

spacer.png

 

spacer.png

 

spacer.png

 

Vous devez répéter cette action pour chacune de vos bases, account, common, player, hotbackup, log ou encore metin2.

}

}

6.2 Configurer (§)

{

6.2.1 ServerFiles (§)

{

6.2.1.1 Créer un Compte (§)

{

Révélation

 

  Crypter le mot de passe  

 

Créer un compte manuellement est simple, pour cela nous allons utiliser Navicat pour se connecter au serveur MySQL. Nous allons éditer la table account, elle se situe dans metin2 ou metin2_2014 :

spacer.png

 

Pour ouvrir une table de données SQL, il suffit de faire un double clique dessus. Pour ajouter manuellement un compte depuis Navicat, vous devez cliquer sur le + en bas à gauche et remplir les cases comme ça, ces champs sont les plus importants, le reste est facultatif et sera rempli automatiquement par les paramètres par défaut :

 

  • ID : Ne surtout pas remplir, elle se remplie automatiquement après validation
  • LOGIN : L'identifiant du compte celui qu'on utilisera pour se connecter à travers le ClientFiles
  • PASSWORD : C'est le mot de passe du compte, que vous devez au préalable crypter
  • SOCIAL_ID : C'est le code de suppression d'un personnage
  • EMAIL : C'est l'adresse mail du compte
  • CREATE_TIME : Date de création du compte
  • STATUS : Etat du compte, OK ou BLOCK s'il doit être banni
  • SECURITYCODE : ?
  • AVAILDT : ?
  • MILEAGE : DC
  • CASH : MD
  • GOLD_EXPIRE Double chance de Drop pour les Objets
  • SILVER_EXPIRE 50% Plus d'expérience
  • SAFEBOX_EXPIRE Plus d'espace dans l'Entrepôt
  • AUTOLOOT_EXPIRE :  Une Main qui Ramasse les Yangs automatiquement
  • FISH_MIND_EXPIRE : La chance d'attraper un Poisson augmente
  • MARRIAGE_FAST_EXPIRE : Points d'amours augment plus rapidement
  • MONEY_DROP_RATE_EXPIRE Double chance de Drop des Yangs
  • LAST_PLAY : Date de la dernière connexion

 

Pour crypter le mot de passe, vous retrouverez l'outil plus haut. Dans l'URL, vous avez : password.php=password=XXX, Il vous suffit de remplacer XXX par le mot de passe que vous souhaitez et de copier le contenu qui sera généré. Cela permet à ce que vos mots de passe ne soient pas en clair dans la base de données du serveur, par mesure de sécurité. Pour terminer, presser la toucher ENTRÉE de votre clavier pour confirmer :

 

spacer.png

 

Quand c'est fait, vous pouvez directement utiliser le nouveau créer.

}

6.2.1.2 Permissions GM (§)

{

Révélation

Ajouter des permissions à un utilisateur implique de grande responsabilités, pour cela nous allons utiliser Navicat pour se connecter au serveur MySQL. Nous allons éditer la table gmlist, elle se situe dans metin2 ou metin2_2014 :

 

spacer.png

 

Pour ouvrir une table de données SQL, il suffit de faire un double clique dessus. Pour ajouter manuellement un compte depuis Navicat, vous devez cliquer sur le + en bas à gauche et remplir les cases comme ça :

 

  • MID : Ne surtout pas remplir, elle se remplie automatiquement après validation
  • MACCOUNT : L'identifiant du compte celui utiliser pour se connecter à travers le ClientFiles
  • MNAME : C'est le nom du personnage, il doit être strictement identique, s'il n'est pas encore existant, ce n'est pas grave, l'important ici est de choisir un nom qui sera celui de votre personnage
  • MCONTACTIP  : La case est vide par défaut, cependant quelques explications : cela permet d'attribuer les droits à un compte selon l'adresse IP de connexion, cela évite tout simplement que quelqu'un se connecte à votre compte pour profiter de vos accès, à éviter si le joueur à une adresse IP dynamique
  • MSERVERIP : La case est sur ALL par défaut, cependant quelques explications : c'est dans le cas ou vous avez plusieurs serveurs Metin2 fonctionnant sur le même serveur FreeBSD, cela vous permet d'attribuer les accès sur un serveur en particulier, cela nécessite d'ajouter l'IP du serveur dans la table gmhost
  • MAUTHORITY : C'est le niveau des droits d'accès en jeu, vous pouvez vérifier le niveau d'accès d'une commande à partir des SourceFiles de Metin2
    • GOD : Accès limités 
    • HIGH_WIZARD : Accès limités
    • WIZARD : Accès limités
    • LOW_BIZARD : Accès limités
    • IMPLEMENTOR : Accès intégral

 

Pour terminer, presser la toucher ENTRÉE de votre clavier pour confirmer :

 

spacer.png

 

Maintenant que vous défini les accès, nous devons recharger les droits d'accès, vous avez deux solutions :

 

  • Si un compte avec un personnage GM est déjà existant, il vous suffit d'écrire cette commande en jeu et de déconnecter / reconnecté le compte concerné : /reload a
  • Si vous n'avez aucun personnage GM, vous devez tout simplement arrêter et relancer le serveur Metin2

 

Enjoy !

}

6.2.1.3 Gestionnaire Metin2 (§)

{

Spoiler

 

  La configuration par défaut est suffisante  

 

Pour modifie le Gestionnaire Metin2 ou M2 SH | M2 Manager, sur PuTTY :

cd /usr/m2_project && nano m2sh.sh

Modifier la version des Files à utiliser

VERSION="1.0.0"

Modifier le répertoire racine du projet : 

ROOT_PATH="/usr/m2_project"

Utiliser l'AutoStart 

USE_AUTO_START="1" # 0 = false | 1 = true #

Modifier la configuration de la compilation des quêtes :

USE_PRE_QC="1" # 0 = false | 1 = true #

 

Modifier le flag de la compilation

FLAG="-j3"

Modifier le mode de la compilation

CONFIGURATION="0" # 0 = debug | 1 = release #

Modifier l'Autostart et son nbr de channels

DEFAULT_CORE_COUNT="2" # for auto start option #

Modifier le nombre min et max channels :

DEFAULT_CORE_MIN="1" # don't touch #
DEFAULT_CORE_MAX="3" # number of channel max #

Enjoy !

}

}

6.2.2 ClientFiles (§)

{

6.2.2.1 DePack / UnPack / RePack (§)

{

6.2.2.1.1 Méthode EterNexus (§)

{

6.2.2.1.1.1 Configurer (§)

{

Révélation

 

  La configuration par défaut est suffisante  

 

Pour paramétrer EterNexus 

 

spacer.png

 

spacer.png

 

spacer.png

 

spacer.png

}

6.2.2.1.1.2 DePack / UnPack (§)

{

Révélation

spacer.png

}

6.2.2.1.1.3 RePack / Pack (§)

{

Révélation

spacer.png

}

}

6.2.2.1.2 Méthode EterManager (§)

{

6.2.2.1.2.1 Configurer (§)

{

Révélation

Lors du premier démarrage vous devez paramétrer EterManager pour votre Client Metin2. Rien de plus simple, cliquer sur Manage en haut à gauche d'EterManager puis sur Profiles.

 

142225em2.png

 

L'avantage d'EterManager c'est son système de profil, en effet grâce à ce dernier vous pouvez gérer plusieurs profils. Vous pouvez à tout moment changer de profil selon les profils disponibles en bas à gauche d'EterManager.

 

Un simple clique droit dans la zone Profiles available vous permet d'obtenir un menu contextuel qui vous permet :

 

  1. Utiliser le profil sélectionné...
  2. Ajouter un nouveau profil...
  3. Supprimer le profil sélectionné...

 

Le paramétrage d'un profil ce fait comme ci :

 

  1. Name : Le nom que vous souhaitez indiquer à votre profil...
  2. Working Directory : Vous devez saisir le chemin d'accès complet vers le dossier pack de votre Client Metin2...
  3. Unpack Directory : Vous devez saisir un chemin d'accès complet vers le dossier de votre choix, il peut être identique à Working Directory...
  4. Index Key* : B9-9E-B0-02-6F-69-81-05-63-98-9B-28-79-18-1A-00
  5. Pack Key* : 22-B8-B4-04-64-B2-6E-1F-AE-EA-18-00-A6-F6-FB-1C
  6. Index Extension* : .eix
  7. Pack Extension* : .epk
  8. Is default : Cochez la case si vous souhaitez que ça soit le profil par défaut...
  9. N'oubliez pas de sauvegarder !

 

* : Concernant les étapes 4 & 5 ce sont des clés par défaut utilisable pour la majorité des clients en partage. Si vous avez personnalisé vos clés dans les sources vous devez alors saisir vos propres clés.

 

* : Concernant les étapes 6 et 7 ce sont les extensions par défaut du Client Metin2, si vous avez modifié les extensions par défaut dans les sources vous devez alors saisir vos propres extensions.

}

6.2.2.1.2.2 Fonctionnalités (§)

{

Révélation

Virtual Tree View vous permet de visualiser l'arborescence tel que vue par le Client Metin2 grâce à une lecture en direct des packs de votre Client Metin2. Pour accéder à cet outil : vous devez cliquer sur Tools puis sur Virtual Tree View...

 

142225em5.png

 

EterManager vous permet de visionner le contenu de l'index d'un de vos packs, ce qui vous permet par exemple de vérifier si votre fichier a été correctement archivé par le logiciel. Il est accessible à partir de l'icône suivante, disponible si seulement une archive est existante : 142225em9.png...

 

142225em4.png

 

EterManager vous propose d'autres paramètres dans l'utilisation de ce logiciel. Vous pouvez effectuer un clique droit dans la zone principale d'EterManager ( Là ou se trouve packs ) afin d'obtenir le menu contextuel suivant :

 

191818em10.png

 

Ce menu contextuel vous permet de :

 

  1. Définir pour le pack sélectionné la méthode de compression...
  2. Décompresser le pack sélectionné...
  3. Compresser le pack sélectionné...
  4. Supprime de la vue d'EterManager le pack sélectionné...
  5. Cette option vous permet de définir le nombre de tâches simultanées...
  6. Sélectionner ou Désélectionner les packs...  

 

Tadam...

}

6.2.2.1.2.3 DePack / UnPack (§)

{

Révélation

Pour décompresser, depack un pack de votre Client Metin2 vous devez simplement cliquer sur le bouton qui vous permet d'extraire le pack que vous souhaitez : 142225em7.png... L'avantage avec EterManager, vous pouvez extraire plusieurs packs en même temps sans attendre que l'extraction du premier soit terminé ! Vous pouvez retrouver le pack décompressé dans le dossier que vous avez vous-même paramétré au nom du pack extrait.

 

142225em3.png

 

Tadam...

}

6.2.2.1.2.4 RePack / Pack (§)

{

Révélation

Pour compresser, repack un pack de votre Client Metin2 vous devez simplement cliquer sur le bouton qui vous permet d'archiver le pack que vous souhaitez : 142225em8.png... L'avantage avec EterManager, vous pouvez archiver plusieurs packs en même temps sans attendre que l'archivage du premier soit terminé ! Votre archive sera automatiquement créée dans le répertoire pack de votre Client Metin2.

 

Vous avez également la possibilité de modifier le type de compression de votre archive grâce à la colonne Pack filter,  le format Raw est un format brute dans lequel il y a une absence totale de compression. Vous avez également le format Lzo qui permet de compresser d'avantage votre archive et de diminuer sa taille finale.

 

142225em6.png

 

142225em3.png

 

Tadam...

}

}

}

6.2.2.2 Configurer l'IP (§)

{

Spoiler

 

  Nécessite d'avoir suivi au préalable : 6.2.2.1 DePack / UnPack / RePack  

 

Une configuration multi serveur est disponible dans M2 Project, vous avez des serveurs avec un ou plusieurs channels pour vous montrer la syntaxe à utiliser.

 

  • Pack : M2P_root
  • Fichier : serverinfo.py

 

Au début de ce fichier, tu y trouveras une liste de serveur exemple pour te guider dans les modifications. En début de fichier tu devrais trouver le bloc suivant 

SRV_LOCALHOST = {
	'name':'LOCALHOST',
	'host':'127.0.0.1',
	'auth':11002,
	'c1':13001,
	'ids':'10',
}

Enfin, tu modifies la ligne similaire à :

'host':'XXX.XXX.XXX.XXX',

Il n'est pas utile de modifier les autres valeurs, vous pouvez aussi supprimer les serveurs en trop, pour cela vous devez supprimer tous les blocs correspondant au serveur à supprimer. Il ne vous reste plus qu'à enregistrer à RePack votre pack M2P_root à l'aide de l'utilitaire.

}

}

}

6.3 Gérer (§)

{

Spoiler

 

20434583.png

 

M2 SH | M2 Manager est le cœur d'M2 Project, véritable outil de gestion, c'est grâce à lui que vous pouvez gérer vos Files. Plus communément connu sous son petit nom : M2 SH, pour Metin2 Shell, sera là pour vous épauler dans les moments les plus difficiles. Utiliser M2 Project c'est adopter M2 SH | M2 Manager ! Chaque numéro correspond à une des options présentes au sein de M2 SH. Pour accéder au Gestionnaire Metin2 vous devez systématiquement réaliser cette commande :

cd /usr/m2_project/ && sh m2sh.sh

Enjoy !

6.3.1 ServerFiles (§)

{

Spoiler

101 START

 

Révélation

 

spacer.png

 

  • Vous permet de démarrer un groupe de « core ».
  • Il détecte automatiquement si le « core » que vous souhaitez démarrer n'est pas déjà exécuté.
  • La sortie des erreurs est masquées, vous pouvez les retrouver dans chaque « core » sous les appellations « syslog_start » ou « syserr_start ».

 

spacer.png

 

 

102 MANUAL

 

Révélation

 

spacer.png

 

  • Vous permet de démarrer un « core » ou un groupe de « core ».
  • Il détecte automatiquement si le « core » que vous souhaitez démarrer n'est pas déjà exécuté.
  • La sortie des erreurs est masquées, vous pouvez les retrouver dans chaque « core » sous les appellations « syslog_start » ou « syserr_start ».

 

spacer.png

 

 

103 AUTO

 

Révélation

 

spacer.png

 

  • Il permet de démarrer et ou de redémarrer votre serveur Metin2.
  • Il vérifie si ce dernier n'est pas déjà exécuté et exécute un arrêt des processus.
  • Il nettoie les historiques et les journaux.
  • Il démarre le serveur Metin2.
  • La sortie des erreurs est masquées, vous pouvez les retrouver dans chaque « core » sous les appellations « syslog_start » ou « syserr_start ».
  • Configuration : Vous pouvez modifier le nombre de canal par défaut en éditant « DEFAULT_CORE_COUNT » dans « m2sh.sh ».

 

 

104 STOP

 

Révélation

 

spacer.png

 

  • Il permet de déclencher l'arrêt du serveur Metin2.

 

 

105 FORCE

 

Révélation

 

spacer.png

 

  • Il permet de forcer la fermeture des programmes « db » et « game ».
  • Utile lorsque un arrêt classique n'a pas fonctionné ou pour tout autre motif.

 

 

106 CLEAN

 

Révélation

 

spacer.png

 

  • Il nettoie les historiques, journaux et les fichiers inutilisés.
  • Il détecte automatiquement si Metin2 est déjà démarré avant d'exécuter le nettoyage.
  • Si Metin2 est déjà exécuté, il ne nettoiera pas.

 

}

6.3.2 QuestFiles (§)

{

Spoiler

201 UPDATE

 

Révélation

 

  Privilégier l'utilisation de 203 PRE QC  

 

spacer.png

 

  • Il compile les quêtes qui sont listées dans le fichier « new_locale_list ».
  • Les erreurs de compilation sont masquées et enregistrées dans le répertoire « log » selon le nom de la quête.
  • Attention, pour être pleinement utilisable, vos quêtes ne doivent pas avoir de « define ».

 

 

202 MANUAL

 

Révélation

 

  Utilisable sous condition  

 

spacer.png

 

  • Il compile la quête de votre choix, qu'elle soit listée ou non dans le fichier  « new_locale_list ».
  • Attention, pour être pleinement utilisable, votre quête ne doit pas avoir de « define ».

 

 

203 PRE QC

 

Spoiler

 

  Nécessite d'avoir suivi au préalable : 1.2.5 Installer | Python  

  M2 VM est déjà paramétré en ce sens  

 

spacer.png

 

  • Il compile les quêtes qui sont listées dans le fichier « new_locale_list ».
  • Il prend en charge les « define » en début de quête.
  • Les erreurs de compilation sont affichées.

 

 

204 CLEAN

 

Révélation

 

spacer.png

 

  • Il nettoie le répertoire « object » des quêtes.
  • Nécessite de compiler les quêtes après un nettoyage.

 

}

6.3.3 SourceFiles (§)

{

Spoiler

 

  Nécessite d'avoir suivi au préalable : 8.1 Environnement de Compilation | FreeBSD  

  M2 VM est déjà paramétré en ce sens  

 

301 GAME

 

Révélation

 

spacer.png

 

  • Vous permet de compiler votre « game ».
  • Nécessite de compiler au préalable les librairies « libgame », « libthecore », « liblua », « libpoly », « libcryptopp » et « libsql ».
  • Il détecte si votre « game » n'est pas déjà démarré au moment ou vous voulez compiler.
  • Le fichier compilé est automatiquement déplacé au bon endroit.

 

 

302 DB

 

Révélation

 

spacer.png

 

  • Vous permet de compiler votre « db ».
  • Nécessite de compiler au préalable la librairie « libsql ».
  • Il détecte si votre « db » n'est pas déjà démarré au moment ou vous voulez compiler.
  • Le fichier compilé est automatiquement déplacé au bon endroit.

 

 

303 QC

 

Révélation

 

spacer.png

 

  • Vous permet de compiler votre « qc ».
  • Nécessite de compiler au préalable le librairie « liblua ».
  • Il détecte si votre « qc » n'est pas déjà démarré au moment ou vous voulez compiler.
  • Le fichier compilé est automatiquement déplacé au bon endroit.

 

 

304 LIBGAME

 

Révélation

 

spacer.png

 

  • Vous permet de compiler votre « libgame ».
  • Le fichier compilé est automatiquement déplacé au bon endroit.

 

 

305 LIBTHECORE

 

Révélation

 

spacer.png

 

  • Vous permet de compiler votre « libthecore ».
  • Le fichier compilé est automatiquement déplacé au bon endroit.

 

 

306 LIBLUA

 

Révélation

 

spacer.png

 

  • Vous permet de compiler votre « liblua ».
  • Le fichier compilé est automatiquement déplacé au bon endroit.

 

 

307 LIBPOLY

 

Révélation

 

spacer.png

 

  • Vous permet de compiler votre « libpoly ».
  • Le fichier compilé est automatiquement déplacé au bon endroit.

 

 

308 LIBCRYPTOPP

 

Révélation

 

spacer.png

 

  • Vous permet de compiler votre « libcryptopp ».
  • Le fichier compilé est automatiquement déplacé au bon endroit.

 

 

309 LIBSQL

 

Révélation

 

spacer.png

 

  • Vous permet de compiler votre « libsql ».
  • Le fichier compilé est automatiquement déplacé au bon endroit.

 

 

310 CLEAN ALL

 

Révélation

 

spacer.png

 

  • Vous permet de nettoyer les projets principaux « game », « db » et « qc ».
  • Vous permet de nettoyer les projets secondaires  « libgame », « libthecore », « liblua », « libpoly », « libcryptopp » et « libsql ».
  •  Cela régénère également les dépendances.

 

 

311 CLEAN MAIN

 

Révélation

 

spacer.png

 

  • Vous permet de nettoyer les projets principaux « game », « db » et « qc ».
  •  Cela régénère également les dépendances.

 

 

312 CLEAN SUB

 

Révélation

 

spacer.png

 

  • Vous permet de nettoyer les projets secondaires  « libgame », « libthecore », « liblua », « libpoly », « libcryptopp » et « libsql ».
  •  Cela régénère également les dépendances.

 

}

6.3.4 Divers (§)

{

Spoiler

401 SYMBOLIC LINKS

 

Révélation

In Progress / Coming Soon

 

402 STATE

 

Révélation

 

20434582.png

 

  • Vous permet de voir :
    • Les états de vos « core » au moment de l’exécution.
    • Les « core » qui ont besoin d'être nettoyé.
    • Un « core » qui est démarré mais son « pid » a été supprimé pour une raison obscure.
    • Un « crash » de l'un de vos « core ».

 

 

403 CHECK INTEGRITY

 

Révélation

In Progress / Coming Soon

 

405 BACKUP

 

Révélation

 

212835misc-backu.png

 

  • Il est conseillé de nettoyer les historiques et les journaux et les objets issu de la compilation des sources.
  • Il détecte automatiquement si votre serveur Metin2 est démarré avant d'entamer la sauvegarde.
  • Il réalise une sauvegarde des fichiers serveurs, des sources et des données SQL.

 

}

}

}

Environnement Web (§) (§)

{

7.1 Nom de Domaine (§)

{

Révélation

 

  A suivre impérativement pour les utilisateurs souhaitant avoir un serveur web  

 

 

Avoir un site c'est bien. Avoir un nom de domaine, c'est mieux ! Car qui parmi nous vont sur des sites ou l'URL est une adresse IP ? Personne... Afin de pouvoir personnaliser votre serveur et suivre le guide sur la création d'un environnement web, vous devez obligatoirement vous procurer un nom de domaine chez l'hébergeur / registrar de votre choix, il en existe pleins, OVHCloud, CloudFlare, NameCheap...

 

Si vous avez votre nom de domaine en main, il est primordial de faire un enregistrement de type A vers l'adresse IP de votre serveur FreeBSD. Par exemple :

 

  • Vous avez un domaine : domain.com, vous devez ajouter une entrée de type A vers l'IP de votre serveur pour domain.com.
  • Si vous un sous domaine : subdomain.domain.com, vous devez ajouter une entrée de type A vers l'IP de votre serveur pour subdomain.domain.com.

 

Si vous ne faites pas cela, vous ne pouvez pas suivre cette partie. L'ajout d'une entrée / enregistrement dépend de l'hébergeur / registrar mais reste relativement simple à mettre en place...

}

7.2 Installer (§) (§)

{

7.2.1 Apache (§) (§)

{

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

 

Apaaaache ?! Le logiciel libre Apache HTTP Server est un serveur HTTP, Apache est un serveur web open-source et multiplateforme. Pour l'installer sur PuTTY :

pkg install -y apache24

Apache est désormais installé, nous passerons à sa configuration dans quelques instants...

}

7.2.2 PHP (§) (§)

{

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

 

PHP Hypertext Preprocessor, plus connu sous son sigle PHP, est un langage de programmation libre, principalement utilisé pour concevoir des pages Web dynamiques via un serveur HTTP, mais pouvant également fonctionner comme n'importe quel langage interprété de façon locale. PHP est un langage impératif orienté objet. Il peut être intégré facilement au HTML. Nous allons PHP avec ses multiples fonctions afin d'être tranquille lors de la conception de vos sites :

pkg install -y php74 mod_php74 php74-bcmath php74-bz2 php74-curl php74-dba php74-dom php74-enchant php74-exif php74-extensions php74-fileinfo php74-filter php74-ftp php74-gd php74-gettext php74-gmp php74-imap php74-json php74-ldap php74-lz4 php74-mbstring php74-mysqli php74-odbc php74-opcache php74-openssl php74-pdo php74-pdo_mysql php74-pdo_odbc php74-pdo_pgsql php74-pdo_sqlite php74-pgsql php74-pspell php74-readline php74-session php74-simplexml php74-snmp php74-soap php74-sockets php74-sqlite3 php74-tidy php74-xml php74-xmlreader php74-xmlrpc php74-xmlwriter php74-xsl php74-zip php74-zlib php74-zstd

PHP est désormais installé, nous passerons à sa configuration dans quelques instants...

}

7.2.3 Certbot (§) (§)

{

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

 

Let's Encrypt est une autorité de certification. Cette autorité fournit des certificats gratuits pour le protocole cryptographique TLS au moyen d'un processus automatisé via Certbot, grâce à ces certificats SSL vous pouvez obtenir le HTTPS sur votre site internet :

pkg install -y py37-certbot py37-certbot-apache

Certbot est désormais installé, nous passerons à sa configuration dans quelques instants...

}

}

7.3 Configurer (§) (§)

{

7.3.1 Apache (§) (§)

{

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

 

Par défaut, Apache ne démarre pas au démarrage du système. Pour cela nous allons demander à FreeBSD de le démarrer à chaque démarrage de ce dernier,  sur PuTTY :

sysrc apache24_enable="YES"

Nous allons paramétrer Apache sur ses modules, nous activer le module de réécriture d'URL ainsi que le module pour la création d'Hôtes Virtuels afin d'obtenir plusieurs sites sur le même serveur :

nano /usr/local/etc/apache24/httpd.conf

 

 

Module vHosts

 

Cherche :

#Include etc/apache24/extra/httpd-vhosts.conf

Remplace par :

Include etc/apache24/extra/httpd-vhosts.conf

 

 

Module Rewrite

 

Cherche :

#LoadModule rewrite_module libexec/apache24/mod_rewrite.so

Remplace par :

LoadModule rewrite_module libexec/apache24/mod_rewrite.so

 

 

Module SSL

 

Chercher :

#LoadModule ssl_module libexec/apache24/mod_ssl.so

Remplace par :

LoadModule ssl_module libexec/apache24/mod_ssl.so

 

ServerName

 

Chercher :

#ServerName www.example.com:80

Remplace par :

ServerName 127.0.0.1:80

Tu peux enregistrer... Tadam...

}

7.3.2 PHP (§) (§)

{

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

 

Nous allons copier le fichier de configuration PHP :

cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Nous apprendre à Apache le langage PHP, pour cela :

nano /usr/local/etc/apache24/modules.d/001_mod-php.conf

Ajoute ceci, c'est un fichier vierge il est normal qu'il soit vide :

<IfModule dir_module>
	DirectoryIndex index.php index.html
    <FilesMatch "\.php$">
    	SetHandler application/x-httpd-php
	</FilesMatch>
    <FilesMatch "\.phps$">
    	SetHandler application/x-httpd-php-source
    </FilesMatch>
</IfModule>

Tu peux enregistrer... Tadam...

}

7.3.3 Certbot (§) (§)

{

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

 

Nous allons également activer Certbot pour la certification des certificats SSL pour le HTTPS :

sysrc weekly_certbot_enable="YES"

Ajoutons également une routine à FreeBSD afin qu'il exécute le renouvellement automatique des certificats SSL :

echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew -q" | tee -a /etc/crontab > /dev/null

Tadam...

}

7.3.4 Hôtes Virtuels (§)

{

Révélation

 

  A suivre impérativement pour les utilisateurs souhaitant avoir un serveur web  

 

Une étape importe dans la configuration de votre serveur Web sous FreeBSD, la création des hôtes virtuels. Grace à ces derniers il sera possible de gérer de nombreux site sur le même serveur, par exemple vous aimeriez avoir votre domaine principal pour le site et un sous domaine pour votre forum ? Ah bien, c'est possible ! Il est primordial d'avoir paramétré votre nom de domaine afin de lui attribuer un enregistrement de type A vers l'adresse IP de votre serveur FreeBSD !

 

Commençons, supprimer l'intégralité du contenu de ce fichier, c'est un exemple de configuration dont nous avons pas besoin :

nano /usr/local/etc/apache24/extra/httpd-vhosts.conf

Créons notre premier Hôte virtuel, pour cela : ajouter ceci :

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/usr/local/www/apache24/data/domain.com"
    ServerName domain.com
    ServerAlias www.domain.com
    ErrorLog "/var/log/httpd-domain-com-error-log"
    CustomLog "/var/log/httpd-domain-com-access-log" common
</VirtualHost>

Dans notre configuration nous avons :

 

  • ServerAdmin : Il correspond à votre adresse mail, celle-ci peut s'afficher si une erreur survient sur votre site
  • DocumentRoot : Il correspond à la racine du site que vous créer, modifier domain.com par votre nom de domaine !
  • ServerName : Il correspond au domaine du site que vous configuré, modifier domain.com par votre nom de domaine !
  • ServerAlias : Il correspond au domaine alternatif du domaine principal, principalement utilisé pour définir le sous domaine www
  • ErrorLog / CustomLog : Ce sont les journaux d'erreurs et d'accès à votre serveur web depuis un navigateur, tout est enregistré

 

Si par exemple vous souhaitez un sous domaine, ajouter ceci après le premier bloc :

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/usr/local/www/apache24/data/subdomain.domain.com"
    ServerName subdomain.domain.com
    ErrorLog "/var/log/httpd-subdomain-domain-com-error-log"
    CustomLog "/var/log/httpd-subdomain-domain-com-access-log" common
</VirtualHost>

Dans notre configuration qu'est-ce qui change ?

 

  • DocumentRoot : Il correspond à la racine du site que vous créer, modifier subdomain.domain.com par votre nom de domaine !
  • ServerName : Il correspond au domaine du site que vous configuré, modifier subdomain.domain.com par votre nom de domaine !

 

Vous pouvez enregistrer le fichier. Nous allons créer les répertoires de nos sites selon le nom de domaine : comprenez bien que les répertoires ci-dessous sont les racines de vos sites, c'est à cet endroit faudra installer votre futur site !

mkdir /usr/local/www/apache24/data/domain.com

ou encore :

mkdir /usr/local/www/apache24/data/subdomain.domain.com

Puis nous allons rendre ce qui appartient à Apache, ses répertoires :

chown -R www:www /usr/local/www/apache24/data

On démarre / redémarre Apache avec :

service apache24 restart

Si vous un message similaire à :

Performing sanity check on apache24 configuration :
Syntax OK
Starting apache24...

Tadam... Il ne vous reste plus qu'à installer votre site, forum ou vos scripts ! Il vous suffit de les placer dans les répertoires que vous avez défini plus haut !

}

}

7.4 HTTP Versus HTTPS (§)

{

Révélation

 

  Oh Djadja  
  Y'a pas moyen Djadja  
  J'suis pas ta catin Djadja genre  
  En Catchana baby tu dead ça  
  Oh Djadja  

 

touche pas a mon poste no GIF by C8

 

  A suivre impérativement pour les utilisateurs souhaitant avoir un serveur web  

 

Pardonnez-moi, s'il vous plait. HTTPS a été inventé dans le but de satisfaire les besoins d'intégrité et de confidentialité des données échangées et surtout l'authentification du serveur. HTTPS est alors utile pour éviter le vol des informations sur le site par des tierces personnes mal intentionnées.

 

Lorsqu'un internaute visitera un site non sécurisé avec son navigateur, il verra s'afficher la mention non sécurisé en rouge dans la barre d'adresse. Cet avertissement pourrait l'inciter à craindre le site et à le quitter pour en visiter un autre... Il est important de munir votre nom de domaine d'un certificat de sécurité.

 

Nous allons utiliser Certbot par Let's Encrypt. Let's Encrypt est une autorité de certification lancée le 3 décembre 2015. Cette autorité fournit des certificats gratuits X.509 pour le protocole cryptographique TLS au moyen d'un processus automatisé.

 

Démarrons le processus de certification de nos noms de domaine !

certbot --apache

Si c'est la première que tu utilises Certbot, tu devrais avoir ce message :

Enter email address ( used for urgent renewal and security notices ) ( Enter 'c' to
cancel ) :

Tu dois saisir une adresse mail valide, en effet Let's Encrypt vous préviens si un dysfonctionnement venait à se produire sur votre certificat ou sa validité... Si cela t'indique :

Please read the Terms of Service at [...] order to register with the ACME server [...]
( A ) gree / ( C ) ancel :

Écris :

a

Si cela t'indique :

Would you be willing to share your email address [...] and ways to support digital freedom.
( Y ) es / (N ) o :

Écris :

n

Si cela te dit ensuite :

Which names would you like to activate HTTPS for ?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1 : domain.com
2 : subdomain.domain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and / or spaces, or leave input
blank to select all options shown  (Enter 'c' to cancel ) :

Tu dois écrire te chiffre correspondant au domaine que tu souhaites certifier :

1

Ou par exemple :

2

Si cela te demande ensuite :

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1 : No redirect - Make no further changes to the webserver configuration.
2 : Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [ 1 - 2 ] then [ enter ] ( press 'c' to cancel ) :

Tu réponds :

2

En effet, la redirection automatique de HTTP vers HTTPS est recommandé ! Répète cette action pour chacun des noms de domaine que souhaite sécuriser pour ton ou tes sites ! Tu devrais obtenir un message similaire à :

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for domain.com
Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /usr/local/etc/letsencrypt/live/domain.com/fullchain.pem
   Your key file has been saved at:
   /usr/local/etc/letsencrypt/live/domain.com/privkey.pem
   Your cert will expire on 2099-12-31. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /usr/local/etc/letsencrypt. You should
   make a secure backup of this folder now. This configuration
   directory will also contain certificates and private keys obtained
   by Certbot so making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

It's done ! Tu as ton certificat ! Tu peux déjà en profiter !

}

}

Environnement de Compilation (§) (§)

{

 

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

 

Etape complètement facultative mais ô nécessaire si tu souhaites améliorer ton serveur Metin2 en lui ajoutant des systèmes et autres modifications touchant directement aux SourceFiles du jeu... Compiler nécessite tout de même quelques connaissances dans le domaine de la programmation, principalement dans la compréhension des erreurs et des alertes qui sont émises par le compilateur.

 

La compilation, en informatique est un travail réalisé par un compilateur qui consiste à transformer un code source lisible par un humain en un fichier binaire exécutable par une machine. 

 

Les SourceFiles de Metin2, sont constituées de plusieurs fichiers dont les extensions sont respectivement .cpp, .h, .hpp, .c etc..., ces fichiers forment ce qu'on appelle : le code source. La compilation de ces fichiers permet d'obtenir des programmes : qc, db et le game dans un environnement UNIX avec FreeBSD, metin2client.exe, config.exe, worldeditor.exe, dump_proto.exe dans un environnement WIN32 avec Windows...

 

Le code source ? Le code de ma carte bancaire ? Bah non, évidement ! Le code source nous permet d'écrire des instructions compréhensibles par les nous, les Humains et utilisable par les ordinateurs à travers les langages de programmation. L'ordinateur, lui ne sait lire qu'une chose, le binaire ! Une suite de 0 et de 1 qui sont incompréhensible pour nous, les mortels... Voici la traduction de ASIKOO en binaire :

010000010101001101001001010010110100111101001111

Un langage de programmation c'est une manière d'écrire en langage humain des instructions qui sera traduit en langage binaire par le compilateur. Voici quelques exemples très simple, chacun de ces scripts fournissent le même résultat :

 

C

#include <stdio.h>

main()
{
    printf("Hello, world !\n");
}

Python

print "Hello, world !"

Java

public class HelloWorld{
    public static void main(String[] args){
        System.out.println("Hello, world !"); 
    }
}

Il existe plusieurs langages de programmation, Metin2 utilise le C, C++, Python ainsi que le LUA. Le C et C++ sont utilisés par les SourceFiles, le Python et le LUA pour les scripts et les quêtes. La compilation, c'est quoi ? La compilation c'est traduire le langage humain en binaire avec ce qu'on appelle le compilateur.

 

spacer.png

 

Peut-on utiliser un programme compilé sous FreeBSD dans Windows, me diriez-vous ? Et bah... Non. La compilateur que vous utilisez définit la manière dont le programme sera interprété et il définit donc le système d'exploitation qui pourra l’exécuter.

 

8.1 FreeBSD (§) (§)

{

8.1.1 Installer (§) (§)

{

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

 

Et oui, il est tant de passer aux choses sérieuses... Commençons sur PuTTY :

pkg install -y gmake makedepend devil gdb llvm-devel

C'était rapide hein ? 

}

8.1.2 Configurer (§) (§)

{

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

 

Nous allons configurer FreeBSD de sorte que lorsque un programme quelconque  « crash », puisse génère un fichier de vidage du noyau afin de pouvoir les déboguer, un fichier portant alors le même nom que le programme et ayant pour extension « .core ».

nano /etc/sysctl.conf

Puis ajouter ceci à la fin du fichier :

kern.coredump=1 
kern.coredump_devctl=1 
kern.capmode_coredump=1 
kern.sugid_coredump=1 
kern.nodump_coredump=0 
kern.coredump_pack_vmmapinfo=1 
kern.coredump_pack_fileinfo=1 
kern.compress_user_cores=1 
debug.minidump=1 
debug.elf32_legacy_coredump=1 
debug.elf64_legacy_coredump=1 

Enregistrer et pour finir nous allons redémarrer FreeBSD :

reboot

C'était rapide hein ? 

}

8.1.3 Préparer (§) (§)

{

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

  M2 SH | M2 Manager prend en charge la compilation  

 

Compiler, enfin presque, tu n'attendais que ça n'est-ce pas ? Et bien c'est simple, tu as juste à faire des commandes ! Pour ce faire, nous devons compiler en premier toutes les librairies externes utilisés par les SourceFiles de Metin2.

 

  • CryptoPP
  • LibLUA
  • LibTheCore
  • LibGame
  • LibPoly
  • LibSQL

 

Si cela n'est pas fait : vous obtiendrez lors de la compilation des projets qc, db ou du game un message similaire tel que : undefined reference to xxx error [...] exit status...

 

Tadam...

}

8.1.4 Compiler (§) (§)

{

Révélation

 

  Ne pas suivre si vous importez votre VM VirtualBox  

  M2 SH | M2 Manager prend en charge la compilation  

 

Compilé(eee) - Fabriqué(eee)... Oups, pardon... Quand les librairies sont opérationnelles et compilées, nous pouvons compiler nos trois projets principaux : qc, db et le game... Ils se situent ces répertoires :

 

  • M2P X.X.X : /usr/m2_project/X.X.X/srcs/srv/
  • M2P 2014.X.X.X /usr/m2_project/2014.X.X.X/srcs/srv/

 

Tadam...

}

}

8.2 Windows (§)

{

8.2.1 Installer (§)

{

}

8.2.2 Préparer (§)

{

}

8.2.3 Compiler (§)

{

}

}

}

Sauvegarder / Transférer / Migration (§)

{

9.1 Sauvegarder (§)

{

Révélation

Sauvegarder ? A quoi ça sert, mon serveur est sécurisé ! Aucune donnée informatique n’est à l’abri de ce risque. Pour pouvoir le prévenir, il faut connaître les raisons ainsi que les conséquences de la perte de données. Cause matérielle ou logicielle, il existe plusieurs facteurs qui aboutissent à une perte probable des données...

 

Vous pouvez également avoir besoin de sauvegarder votre serveur afin de le transférer vers un autre, vous en avez marre d'utiliser une VM VirtualBox et vous venez de recevoir votre serveur dédié, il sera alors utile de l'extraire afin de conserver la progression de vos joueurs, de vos modifications etc...

 

the lord of the rings ring GIF

 

9.1.1 SourceFiles / ServerFiles (§)

{

Révélation

 

  M2 SH | M2 Manager prend en charge la sauvegarde  

 

Pour sauvegarder tes SourceFiles pour conserver une copie ou pour migrer d'un serveur à un autre, sur PuTTY :

cd /usr/m2_project

Puis tu vas faire ceci :

tar cvf M2SF_M2SRCSF.tar m2sh.sh

Puis :

tar uvf M2SF_M2SRCSF.tar X.X.X

Tu obtiendras une fois la commande exécutée, une archive qui portera le nom de M2SF_M2SRCSF.tgz. A toi de stocker cette archive en lieu sûr ! N'oubli pas de nettoyer les sources pour alléger l'archive. M2SH te permet également de sauvegarder sans faire ces commandes !

}

9.1.2 Base de Données (§)

{

Révélation

Pour sauvegarder tes bases de données, rien de plus simple ! Il te suffit de lancer d'utiliser Navicat et de te connecter à ton serveur :

 

  1. Double clique sur la base de données account, common, player, hotbackup, log ou metin2...
  2. Clique droit sur la base de données : account, common, player, hotbackup, log ou metin2...
  3. Tu devrais avoir le choix suivant : Dump SQL File ou Exporter...
  4. Tu devrais avoir le choix suivant : Structure and Data ou Structure et Données...
  5. Enregistre le fichier .SQL à l'emplacement de ton choix...
  6. Répète cette action pour toutes les bases de données account, common, player, hotbackup, log ou metin2...

 

spacer.png

 

Le fichier .SQL contient toutes les informations, les tables et les données. Une fois n'est pas coutume, M2SH te permet également de procéder à la sauvegarde de tes bases de données !

 

  Pour les installer, tu peux suivre : 6.1.2 Base de Données  

 

}

}

9.2 Transférer (§)

{

 

Révélation

 

  Nécessite d'avoir suivi au préalable : 9.1.1 SourceFiles / ServerFiles  

 

L'objectif principal de cette rubrique est le transfert de serveur à un autre serveur. Vous avez différentes méthodes pour transférer entre vos serveurs vos données SQL, vos SourceFiles ou encore vos ServerFiles. Choisissez la méthode avec laquelle vous êtes le plus à l'aise.

 

9.2.1 Méthode SCP (§) (§)

{

 

Révélation

 

  Nécessite d'avoir suivi au préalable : 9.1.1 SourceFiles / ServerFiles  

 

SCP ? Gnéééh ? Secure copy désigne un transfert sécurisé de fichiers entre deux ordinateurs ou des serveurs utilisant le protocole de communication SSH. Le terme SCP désigne aussi bien le programme SCP que le protocole SCP. Nous allons apprendre à transférer un fichier, une archive d'un serveur FreeBSD à un autre serveur FreeBSD. Cela vous évite de télécharger l'archive sur votre ordinateur pour téléverser à nouveau vers le serveur cible...

 

La commande SCP fonctionne dans les deux sens, c'est à dire du serveur source vers le serveur cible et vice-versa, parmi les deux méthodes, choisissez en qu'une, le résultat est strictement identique.

 

9.2.1.1 Depuis le serveur Source (§) (§)

{

Révélation

 

  Nécessite d'avoir suivi au préalable : 9.1.1 SourceFiles / ServerFiles  

 

Exécute cette commande sur PuTTY depuis le serveur source, tu dois modifier l'adresse IP par celle du serveur cible :

Sur le serveur cible :

cd /usr && mkdir m2_project

 

 

Sur le serveur source :

Pour les ServerFiles :

scp -r -p /usr/m2_project/m2sf.tgz [email protected]:/usr/m2_project

Pour les SourceFiles :

scp -r -p /usr/m2_project/m2srcsf.tgz [email protected]:/usr/m2_project

Si cela t'indique :

Are you sure you want to continue connecting ( yes / no ) ?

Tu écris :

yes

Si cela t'indique :

Password for root @ :

Tu dois écrire le mot de passe du serveur cible puis tu trouveras les archives dans le répertoire suivant :

/usr/m2_project

 

  Pour les installer, tu peux suivre : 6.1.1 ServerFiles / SourceFiles  

 

}

9.2.1.2 Depuis le serveur Cible (§) (§)

{

Révélation

 

  Nécessite d'avoir suivi au préalable : 9.1.1 SourceFiles / ServerFiles  

 

Exécute cette commande sur PuTTY depuis le serveur cible, tu dois modifier l'adresse IP par celle du serveur source :

Sur le serveur cible :

cd /usr && mkdir m2_project

Pour les ServerFiles :

scp -r -p [email protected]:/usr/m2_project/m2sf.tar /usr/m2_project

Pour les SourceFiles :

scp -r -p [email protected]:/usr/m2_project/m2srcsf.tar /usr/m2_project

Si cela t'indique :

Are you sure you want to continue connecting ( yes / no ) ?

Tu écris :

yes

Si cela t'indique :

Password for root @ :

Tu dois écrire le mot de passe du serveur source puis tu trouveras les archives dans les répertoires suivants :

/usr/m2_project

 

  Pour les installer, tu peux suivre : 6.1.1 ServerFiles / SourceFiles  

 

}

}

9.2.2 Méthode TAR (§) (§)

{

Révélation

 

  Nécessite d'avoir suivi au préalable : 9.1.1 SourceFiles / ServerFiles  

 

Il faut que je t'avoue un truc, cette méthode est présente mais... Il te suffit juste de télécharger les archives que tu as créée sur ton ordinateur pour les téléverser vers le serveur cible avec WinSCP...

/usr/m2_project

 

  Pour les installer, tu peux suivre : 6.1.1 ServerFiles / SourceFiles  

 

}

9.2.3 Méthode SQL (§) (§)

{

Révélation

 

  Nécessite d'avoir suivi au préalable : 4 Installer / Configurer / Gérer @ MySQL  

 

C'est une méthode similaire à la commande SCP, version SQL. En effet, il est possible de copier des tables MySQL depuis Navicat d'un serveur MySQL vers un autre serveur MySQL. Pour cela, tu dois avoir déjà réalisé l'installation, la configuration de MySQL, de ses bases de données, de ses utilisateurs et enfin des permissions d'accès aux bases. Assurez-vous de pouvoir vous connecter aux deux serveurs MySQL depuis Navicat.

 

spacer.png

 

Tu dois choisir la source, c'est à dire l'expéditeur puis tu dois fournir la cible, le destinataire :

 

spacer.png

 

spacer.png

 

spacer.png

 

Terminé, tu dois exécuter cette action autant de fois que nécessaire selon tes bases de données !

}

}

9.3 Migration (§)

{

Révélation

Vous n'êtes pas satisfait de vos ServerFiles / SourceFiles ? Malheureusement, ici nous ne faisons pas le : Satisfait ou Remboursé ! Tu as perdu ton temps, c'est dommage ! Une migration de ServerFiles / SourceFiles est une partie relativement simple puisque vous avez toute une base prête à l'emploi.

 

Les seules difficultés que vous êtes susceptible de rencontrer se situe au niveau des SourceFiles, c'est de la programmation et il faut un minimum de connaissance pour être autonome en cas d'échec de compilation mais également au niveau des librairies, il est possible que vos ServerFiles vous les demandent lors du démarrage...

 

  1. Supprimer le contenu du répertoire /usr/m2_project...
  2. Supprimer les tables SQL des bases de données : account, common, player, hotbackup, log ou metin2...

 

A cette étape, tout est désinstallé vous pouvez reprendre l'installation de vos ServerFiles / SourceFiles avec celles de votre choix... Et surtout, ne revenez plus jamais vers moi !

 

  RIP M2 Project  

 

}

}

}

#include < footer.>

{

 

Grâce à Funky-Émulation, les membres qui constituent ce forum, les partages et les tutoriels qui l'alimentent, tu es désormais capable de concevoir ton Serveur Metin2. N'hésite pas à partager tes trouvailles et tes idées permettant de faire évoluer l'émulation de ce jeu. Tu as ouvert ton Serveur Metin2 ? Présente le nous dans la rubrique  Vos Serveurs  ! Montre nous maintenant de quoi tu es capable ! Bonne chance à toi ! Si tu as besoin d'aide, nous serons là pour t'aider dans l'  Aide / Questions / Support  .

 

 

 

}

#include < src.>

{

 

clang: error: no such file or directory: src.h

clang: error: no input files

segmentation fault ( core dumped )

 

}

abort();

  • Like 42

miaw-network.png
 

Link to post
  • ASIKOO changed the title to CMasterGuide::Init->("Préparation d'un Environnement Extra Hyper Mega Complet pour Créer un Serveur Metin2");
  • ASIKOO changed the title to CMasterGuide::Init->("Préparation d'un Environnement Extra Hyper Mega Complet pour Créer un Serveur Privé Metin2");
  • ASIKOO changed the title to (en cours d'écriture) CMasterGuide::Init->("Préparation d'un Environnement Extra Hyper Mega Complet pour Créer un Serveur Privé Metin2");
  • 3 weeks later...
  • 2 weeks later...
  • ASIKOO changed the title to Préparer un environnement complet pour créer et exploiter un serveur privé Metin2
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.