Bonjour à tous.
Je vous propose aujourd'hui un petit tuto [En cour] sur "comment créer un Launcher Minecraft avec Visual basic 2010.
- Création et configuration 100%
1) Nous allons Commencer par crée notre projet. Allez dans Fichier ---> Nouveau projets ---> Application Windows Form.
Et op ! Voilà votre Launcher ! Nous allons détailler chaque partit de la fenêtre.
Donc maintenant, prenez les petits point blanc sur le contour du Launcher. et tirez-les pour donner une plus grande forme au launcher.
Vous pourrez aussi clickez sur le launcher et regarder dans les configurations pour le Customiser.
Voici ce que j'ai changer :
- J'ai mis une image dans le Bakcgroundimage.
- Dans Backgroundimagelayout, j'ai mis "Stretch" pour centrer l'image.
- j'ai changer l'icone avec une image en .ico (vous trouverez des convertisseur d'image sur le Web)
- Dans text, j'ai mis : "Launcher test"
cela donne ceci :
Maintenant, Allez dans fichier ---> Enregistrer-sous et donnez un nom à votre launcher...
Fin de cette partit, merci
- Système de Connexion 100%
Maintenant nous Allons faire le Système de connexion, pour pouvoir nous connecter à Minecraft :cool:
Clickez sur la boîte à Outils. et faites y glissez :
- 1 bouton
- 2 Textbox
- 2 Label
Le bouton va nous servir à nous connecter, et à lancer le jeu. et à d'autres choses par la suite.
Les deux Textbox, c'est pour y mettre le Pseudo, et le Mot de passe.
Les deux Label, c'est pour y écrire "Pseudo" et "Mot de passe"
Clickez une fois sur le bouton (j'ai bien dit une fois), et modifiez par Exemple la police, et bien sûr, le text (fenêtre des Configurations des Items du Launcher)
Faites la même chose pour les Labels, Sachez aussi que vous pouvez y mettre un fond Transparent, et un text Blanc (c'est ce que je vais faire).
Pour les textbox, modifiez que celle pour le mot de passe, et aller jusqu'à PasswordChar, et mettez y une étoile (*). pour que les Caractères soit masquer.
Moi cela donne ceci :
Maintenant, Double Clickez sur le bouton connexion (oui j'ai dit double clickez). Cela devrai vous afficher ceci.
Voici les lignes de code de notre launcher ! et oui, pas de programmation, pas de launcher, mais je suis la pour vous
Pour le moment, rien de très compliquer sur le bouton de connexion. Le plus dur sera pour le Patcher !
Tapez ce code :
Code (cpp):
Process.Start("minecraft.exe", TextBox1.Text & " " & TextBox2.Text & " VOTREIP")
Le "Process.Start" permet de lancer une Application .exe ou autre.
Le "minecraft.exe" c'est le nom de l'application à lancer
Le "Textbox1.Text & " " & Textbox2.Text" veut dire que nous relions les deux textbox (MDP, Login) à ceux du Minecraft.exe
Le "VotreIP" c'est la ou vous Allez mettre l'ip de votre serveur.
/!\ Mettez bien un espace avant de guillemet de " VotreIP" sinon cela ne marchera pas ! /!\
Maintenant, si vous lancer le Launcher avec la petite flèche verte, et que vous clickez sur connexion, Vous aurez une Erreur ! Pourquoi ? pacque le launcher ne trouve pas le Minecrat.exe que vous lui demandez de lancer
(Quand vous avez une erreur, Clickez sur le petit carré bleu à coter de la flèche verte pour fermer l'application)
Donc allez dans : Document ---> Visual Studio 2010 ---> Project ---> [NOM DU LAUNCHER] ---> [NOM DU LAUNCHER] ---> Bin ---> Débug, et mettez y le launcher officiel de Minecraft (téléchargeable sur le site Minecraft.net)
Et lancer le launcher ! et miracle ! sa marche !
(Depuis la 1.0 (je crois) le code ne lance plus Minecraft directement avec l'ip du serveur. je remplacerais le code quand j'aurais trouver celui qui marche vraiment)
Voilà ! cette partit est terminé ! merci :)
- Patcher 100%
Nous voilà au "Patcher"... le patcher est la partit la plus compliquer et la plus "Coder" de notre Tutoriels.
Le patcher va servir à mettre à jour le Minecraft des utilisateurs du serveur. Je vais vous montrer comment mettre à jour que le Minecraft.jar, mais si vous comprenez bien, vous pourrez tout modifier !
Alors Avant de commencer, vous devrez prendre 3 fichier.
- Le Minecraft.jar que vous voulez mettre aux utilisateurs du Launcher. (changeable par la suite)
- Un fichier .txt que nous Allons Nommé "gameversion" avec un petit "0" (zero) dedans.
- Un launcher de minecraft... oui oui, un launcher de Minecraft vous avez bien entendu
Vous aurez aussi besoin d'un FTP public. Comme celui d'un site internet, mais comme je fait un tuto pour des "noob", Crées plutôt un compte DropBox, une fois le compte crée et le logiciels Télécharger, Vous aurez un petit icône sur votre barre de tâche. Double clickez dessus, et Allez dans "public" et créez un dossier (n"importe quel nom).
Puis glissez y votre 3 Fichiers dedans. Si nous avons un moment donné, besoin du lien d'un de ces fichiers, Faites un click droit sur le fichier concerné ---> Dropbox ---> Copier le lien public. puis faites un CTRL + V quand vous aurez besoin du lien ! Voilà pour la préparation :) Maintenant, place au Code
Alors pour commencer, nous allons faire ce code sur le bouton "connexion" du launcher. Alors concrètement, Comment faire pour que le launcher télécharge les donnés Requises mais sans le faire à chaque fois qu'on lance le launcher ? Le fichier "gameversion.txt" Bien sûr C'est lui qui va nous dire si le launcher à déjà été utiliser ! Donc voici le code :
Code (cpp):
If System.IO.File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\gameversion.txt") = True Then
Dim GM1 As String = System.IO.File.ReadAllText("LIEN DU GAMEVERSION.TXT")
Dim GM2 As String = (Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\gameversion.txt")
If GM1 = GM2 = True Then
Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\minecraft.exe", TextBox1.Text & " " & TextBox2.Text & " IP")
End
ElseIf GM1 = GM2 = False Then
MsgBox("Votre Minecraft n'est pas à jour. Mise à jour en cour...")
Kill(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\gameversion.txt")
Kill(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\minecraft.jar")
Kill(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\minecraft.exe")
My.Computer.Network.DownloadFile("LIEN DU MINECRAFT.EXE", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\Minecraft.exe")
My.Computer.Network.DownloadFile("LIEN DU GAMEVERSION.TXT", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\gameversion.txt")
My.Computer.Network.DownloadFile("LIEN DU MINECRAFT.JAR", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Minecraft.jar")
MsgBox("Mise à jour terminé, Bon jeu.")
Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\minecraft.exe", TextBox1.Text & " " & TextBox2.Text & " IP")
End
End If
ElseIf System.IO.File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\gameversion.txt") = False Then
MsgBox("Votre Minecraft n'est pas à jour. Mise à jour en cour...")
My.Computer.Network.DownloadFile("LIEN DU MINECRAFT.EXE", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\Minecraft.exe")
My.Computer.Network.DownloadFile("LIEN DU GAMEVERSION.TXT", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\gameversion.txt")
My.Computer.Network.DownloadFile("LIEN DU MINECRAFT.JAR", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Minecraft.jar")
MsgBox("Mise à jour terminé, Bon jeu.")
Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\minecraft.exe", TextBox1.Text & " " & TextBox2.Text & " IP")
End
End If
Voici ce que cela donne :
Alors oui, ce code à rallonge, permet de mettre à jour le minecraft !
N'oubliez pas de remplacer toutes les Majuscules comme "LIEN DU MINECRAFT.JAR" ou "NOM DU SERVEUR" par vos liens ou vos informations
Maintenant la description de ce Charabia !
Code (cpp):
If System.IO.File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\gameversion.txt") = True Then
Si le "gamversion.txt" existe alors :
Code (cpp):
Dim GM1 As String = System.IO.File.ReadAllText("LIEN DU GAMEVERSION.TXT")
Dim GM2 As String = (Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\gameversion.txt")
If GM1 = GM2 = True Then
Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\minecraft.exe", TextBox1.Text & " " & TextBox2.Text & " IP")
End
ElseIf GM1 = GM2 = False Then
MsgBox("Votre Minecraft n'est pas à jour. Mise à jour en cour...")
My.Computer.Network.DownloadFile("LIEN DU MINECRAFT.EXE", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\Minecraft.exe")
My.Computer.Network.DownloadFile("LIEN DU GAMEVERSION.TXT", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\gameversion.txt")
My.Computer.Network.DownloadFile("LIEN DU MINECRAFT.JAR", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Minecraft.jar")
MsgBox("Mise à jour terminé, Bon jeu.")
Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\minecraft.exe", TextBox1.Text & " " & TextBox2.Text & " IP")
End
End If
Vérification que le gameversion.txt est bien le même que celui sur le FTP/dropbox, Si elle est correcte, cela lance Minecraft, Sinon, cela retélécharge tout.
Code (cpp):
ElseIf System.IO.File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\gameversion.txt") = False Then
MsgBox("Votre Minecraft n'est pas à jour. Mise à jour en cour...")
My.Computer.Network.DownloadFile("LIEN DU MINECRAFT.EXE", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\Minecraft.exe")
My.Computer.Network.DownloadFile("LIEN DU GAMEVERSION.TXT", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\gameversion.txt")
My.Computer.Network.DownloadFile("LIEN DU MINECRAFT.JAR", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Minecraft.jar")
MsgBox("Mise à jour terminé, Bon jeu.")
Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\minecraft.exe", TextBox1.Text & " " & TextBox2.Text & " IP")
End
End If
Si le gameversion.txt n'existe pas, alors il télécharge les fichier requis.
Voilà ! c'est tout pour cette partit du patcher ! merci :cool:
- Case "se souvenir de moi" 100% (De IAJcraft)Dans cette suite du tuto, je vais vous apprendre à faire une case se souvenir de moi
tout d'abord, il vous faut un:
-TextBox1
-TextBox2
-Button1
-CheckBox1
Code à mettre dans :
-Button1_Click
Code (cpp):
'Ce code écrit dans log.txt
'pseudo
'mot de passe
Dim sw As New System.IO.StreamWriter("log.txt")
sw.WriteLine(TextBox1)
sw.WriteLine(TextBox2)
sw.Close()
Process.Start("minecraft.exe", TextBox1.Text & " " & TextBox2.Text)
End
-Form1_Load
Code (cpp):
'si la case est cochée en mémoire, la case est sera cochée
If CheckBox1.Checked = True Then
CheckBox1.Checked = True
'si log.txt existe, il met ses données dans les textboxs 1 et 2
If System.IO.File.Exists("log.txt") Then
Dim sr As New System.IO.StreamReader("log.txt")
TextBox1.Text = sr.ReadLine
TextBox2.Text = sr.ReadLine
sr.Close()
End If
End If
'si la case n'est pas cochée en mémoire, log.txt sera supprimé
If CheckBox1.Checked = False Then
Kill("log.txt")
End If
- Force Update 100%
Pour faire le force update, nous allons avoir besoin de:
-Button2
Codes:
- Button2_Click
Code (cpp):
Msgbox("Votre Minecraft vas être remit à jour")
Kill(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\gameversion.txt")
Kill(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\minecraft.jar")
Kill(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\minecraft.exe")
My.Computer.Network.DownloadFile("LIEN DU MINECRAFT.EXE", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\Minecraft.exe")
My.Computer.Network.DownloadFile("LIEN DU GAMEVERSION.TXT", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\gameversion.txt")
My.Computer.Network.DownloadFile("LIEN DU MINECRAFT.JAR", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Minecraft.jar")
MsgBox("Mise à jour terminée.")
- Case Débug 100%
Alors... une case débug consiste à quoi ? à supprimer tout les fichier du jeu pardi !
Alors nous allons crée un bouton "débug" et nous allons y mettre ce code :
Code (cpp):
If System.IO.File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\gameversion.txt") = True Then
Kill(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\gameversion.txt")
End If
If System.IO.File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\minecraft.jar") = True Then
Kill(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\minecraft.jar")
End If
If System.IO.File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\minecraft.exe") = True Then
Kill(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\bin\Launcher-NOM DU SERVEUR\minecraft.exe")
End If
Ce qui auras pour but de voir si les fichier existes, et si ils existes, le launcher les supprimes. Une partit pas très compliquer, mais assez utiles pour ceux qui s'amusent à supprimer des fichiers