Aller au contenu
Top-Metin2.org - Vous êtes à la recherche d'un serveur Metin 2 ? ×
×
×
  • Créer...

Compiler: Pourquoi? comment?


Kijaru

Messages recommandés

  • Funkiest

Niveau requis  Débutant

Temps estimé :  20 minutes

Bonjour à tous ! 😀

 

Aujourd'hui, petites explications sur la compilation: pourquoi compiler son propre game/db/lanceur? Comment ça se passe? C'est compliqué?

 

Pré-requis:

Aucun

 

I. Les codes sources, kesako?

 

Révélation

 

Un code source, c'est quoi?


Le "code source" nous permet d'écrire des choses compréhensibles par les humains, et utilisables par l'ordinateur, via des langages de programmation.

L'ordinateur ne peut lire que ce qui s'appelle du "binaire", c'est à dire une suite de 0 et de 1 incompréhensible pour nous.

 


010001100111010101101110011010110111100100101101010001010110110101110101

"Funky-Emu" en binaire

 

Un langage de programmation, c'est une manière d'écrire en langage humain des instructions qu'on pourra ensuite "traduire" en langage machine, le binaire.

Retenez bien cette notion de "traduction", c'est important pour la suite 😉

 

Par exemple, pour écrire "Hello, World!", on peut le faire via:

 

Le C

Révélation


#include <stdio.h>

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

 

 

Le Python

Révélation


print "Hello, world!"

 

 

Le Java

Révélation


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

 

 

Et des langages de programmation, il en existe des milliers ! Plus ou moins ésotériques, plus ou moins simples, ils ont tous leur objectifs propres.

 

Metin2 utilise quatre langages de programmation: le C++, le C, le Python, et le LUA.
Le C et le C++ pour le code source du jeu, le Python et le LUA pour les scripts et les quêtes.

 

II. La compilation

 

Révélation

 

Compiler un programme, ça consiste en quoi?


C'est traduire le langage humain (Python, C++, Java, etc...) en langage machine (binaire), avec un outil qui s'appelle un compilateur.

 

image.png.d4343c4605986fde8c7d7b298bac683b.png

 

 

Pour compiler, on se sert par exemple de Visual Studio (Windows), ou de Gmake (sur FreeBSD), qui ont leur fonctionnement propre.

 

Info. Pour Metin2, on se sert généralement de Gmake pour compiler la partie serveur du jeu (le game et la db), et de Visual Studio pour compiler le lanceur client. On peut très bien utiliser Visual Studio pour compiler le serveur et le client cela dit.

 

La question est: peut-on utiliser un programme compilé avec Gmake, mais dans Windows?

La réponse courte est: non. Le compilateur que vous utilisez définit la manière dont le programme sera interprété, et donc définit le(s) système(s) d'exploitation qui pourront l'utiliser.

 

 

III. Les avantages de la compilation

 

Révélation

 

Quand vous voulez modifier quelque chose dans la game, par exemple ajouter les orbes dans les magasins:

  • Sans les sources, vous devez chercher une DIFF pour la bonne révision du game, l'appliquer, prier pour que ça marche.
  • Avec le code source, vous ouvrez un fichier, vous modifiez deux lignes, et c'est fini! 

 

Plus besoin de DIFF, de modifications barbares: vous pouvez TOUT faire proprement, et quand je dis tout, je pèse mes mots: avec le code source, vous pouvez modifier le jeu en totalité!


C'est comme ça que vous pouvez, par exemple, ajouter des races comme le Lycan, ajouter des systèmes, protéger plus efficacement votre client, etc...

 

 

Voilà, ce petit tutoriel est fini, n’hésitez pas à laisser un commentaire si quelque chose manque, ou que vous avez besoin d'éclaircissements ! 🤗

 

Modifié par Alex43
  • Metin2 Dev 1
  • Good 2
  • Love 16
Lien vers le commentaire
Partager sur d’autres sites

  • 3 ans après...
  • 2 semaines après...
  • 2 mois après...


  • brilliantdiscord_widget
  • Flux d'Activité

    1. 21

      Metin2 en 2020 peut-on en parler?

    2. 0

      METIN2Project

    3. 3

      Ressources - UnPack - Metin2 Client - Officiel

    4. 0

      Barre des tâches d'argent étendue

    5. 16

      Redémarrage automatique des channels

    6. 16

      Multi Logo GM / SGM / GA

    7. 0

      comment extraire les fichiers locale.epk locale.eix sur le serveur officiel ?

    8. 2

      Funky-emu.net -> fr.metin2.dev

  • En ligne récemment

    • Aucun utilisateur enregistré regarde cette page.

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.