Bonjour à tous,
Nous allons apprendre à créer un serveur Ragnarok Online sous le système d'exploitation nommé Windows. Prêt ?
Voici comment nous allons faire ce tutoriel :
I. Ragnrarok Online, qu'est-ce ?
II. Logiciel nécessaires
III. Téléchargement du serveur
IV. Compilation
V. Configuration du serveur
VI. Lancement du serveur
Ne vous endormez pas, on commence à peine °°
I. Ragnarok Online
De nombreuses personnes ont décrit ce qu'est RO. Je vais donc vous
donner un lien vers une de ces description, puis en faire un bref
résumé :
Wikipedia
Finalement, le résumé n'est pas le plus important. Je verrais plus tard si j'en fait un... Ou pas.
II. Logiciels nécessaires
Ah... Entrons dans le vif du sujet. Vu que l'on est sous Windows, il va nous falloir plusieurs choses :
- Wamp server, ou Easyphp. J'utiliserais pour ma part Wamp dans ce tutoriel.
- Un client Subversion. J'utiliserais Tortoise SVN pour ce tutoriel.
- Visual studio
III. Téléchargement du serveur
Mettez vous dans le répertoire situé au-dessus du répertoire où
sera le serveur (Si votre serveur est dans C:/RO, mettez-vous dans
C:/). Créez un dossier nommé RO, puis faites un clic droit dessus =>
SVN checkout.
Remplissez l'image comme si dessous :
Pour une version plus débuggée, sans les derniers ajouts qui risqueraient de faire bugger le serveur, prenez la version stable :
http://svn.eathena.ws/svn/ea/branches/stable/Pour une version moins débuggée, avec les derniers ajouts qui
risqueraient de faire bugger le serveur MAIS qui ont l'avantage, si
vous savez bien scripter, d'être débuggué facilement et qui apportent
un plus au serveur, prenez la version trunk :
http://svn.eathena.ws/svn/ea/trunk/Le téléchargement se lance, patientez.
Une fois terminé, vous devriez avoir ceci :
Votre serveur est téléchargé.
IV. Compilation du serveur :
Nous allons utiliser Visual Studio afin de compiler le serveur. Il
existe une autre méthode qui consiste à utiliser Cygwin, mais je ne
l'aborderais pas ici. En effet, si vous êtes capable de compiler sous
Cygwin, autant créer un serveur sous Linux x).
Ouvrez tout d'abord le dossier où vous avez téléchargé le serveur.
Ouvrez :
eAthena-9.sln : Si vous utilisez Visual Studio 2008 (je crois. Je vérifierais sur mon dédié sur mon dédié cette semaine)
eAthena-8.sln : Si vous utilisez Visual Studio 2005
eAthena-7.sln : Si vous utilisez Visual Studio 2003
eAthena-6.sln : Si vous utilisez Visual C ++ 6
Sur la gauche, vous devriez avoir de nombreux fichiers. Faites un
clic droit sur le fichier désiré, puis compiler, c'est-à-dire :
SQL : char-server_sql, login-server_sql et map-server_sql
Vous possédez maintenant les quatre exécutables nécessaires au
lancement de votre serveur. Les .dll se trouve dans le dossier bin.
"Et maintenant, je peux jouer ?"
Non, pas encore ! Vous ne pensiez pas que ce serait aussi simple, quand même !
V. Configuration du serveur
Grâce à un navigateur de base de données SQL, ou bien la page
phpmyadmin, vous allez créer une base de données, puis appliquer
(option importer dans phpmyadmin, une fois votre database sélectionnée)
les fichiers sql suivants :
main.sql
item_db.sql
item_db2.sql
mob_db.sql
mob_db2.sql
logs.sql
Vous les trouverez dans le dossier "sql-files".
En italique : facultatif.
Rendez-vous dans le dossier "conf" de votre serveur.
Ouvrez char_athena.conf, puis configurez-le comme ceci :
Citation:
// Athena Character configuration file.
// Note: "Comments" are all text on the right side of a double slash "//"
// Whatever text is commented will not be parsed by the servers, and serves
// only as information/reference.
// Server Communication username and password.
userid: Nom d'utilisateur (s1 par défaut)
passwd: Mot de passe (p1 par défaut)
// Server name, use alternative character such as ASCII 160 for spaces.
// NOTE: Do not use spaces in the name, or guild emblems won't work client-side!
server_name: Nom du serveur
// Wisp name for server: used to send wisp from server to players (between 4 to 23 characters)
wisp_server_name: Nom utilisé lorsque le serveur envoie des messages automatiques
// Login Server IP
// The character server connects to the login server using this IP address.
// NOTE: This is useful when you are running behind a firewall or are on
// a machine with multiple interfaces.
login_ip: 127.0.0.1
// The character server listens on the interface with this IP address.
// NOTE: This allows you to run multiple servers on multiple interfaces
// while using the same ports for each server.
//bind_ip: 127.0.0.1
// Login Server Port
login_port: 6900 Port du Login server.
// Character Server IP
// The IP address which clients will use to connect.
// Set this to what your server's public IP address is.
char_ip: Adresse Wan de l'hébergeur
// Character Server Port
char_port: 6121 Port du char server.
Le
reste est pour "bidouiller" un peu le serveur (arme de départ, lieu de
départ, zénys, etc...). Je ne m'attarderais donc pas dessus.
map_athena.conf
Citation:
//--------------------------------------------------------------
// Configuration Info
//--------------------------------------------------------------
// Interserver communication passwords, set in account.txt (or equiv.)
userid: Nom d'utilisateur (s1 par défaut)
passwd: Mot de passe (p1 par défaut)
// Character Server IP
// The map server connects to the character server using this IP address.
// NOTE: This is useful when you are running behind a firewall or are on
// a machine with multiple interfaces.
char_ip: 127.0.0.1
// The map server listens on the interface with this IP address.
// NOTE: This allows you to run multiple servers on multiple interfaces
// while using the same ports for each server.
//bind_ip: 127.0.0.1
// Character Server Port
char_port: 6121
// Map Server IP
// The IP address which clients will use to connect.
// Set this to what your server's public IP address is.
map_ip: Adresse Wan de l'hébergeur
// Map Server Port
map_port: 5121
subnet_eathena.conf
// Subnet support file
// Format is:
// subnet: net-submask:char_ip:map_ip
// you can add more than one subnet
subnet: 255.255.255.0:127.0.0.1:127.0.0.1
userid: Nom d'utilisateur (s1 par défaut)
passwd: Mot de passe (p1 par défaut)
Ces renseignements se trouvent dans la table login de votre db,
c'est le premier compte créé. Vous pouvez le modifier afin de garantir
une meilleure sécurité.
S'il venait à ne pas exister, voici le sql à appliquer sur la db afin de l'avoir :
Citation:
INSERT INTO `login` (`account_id`, `userid`, `user_pass`, `sex`, `email`) VALUES ('1', 's1', 'p1', 'S','athena@athena.com');
Votre serveur est configuré.
VI. Lancement du serveur
Vous devez avoir dans votre dossier de serveur un fichier en .bat, nommé runserver-sql.bat
Lancez le.