issue57:labolinux
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
issue57:labolinux [2012/02/06 21:51] – créée fredphil91 | issue57:labolinux [2012/03/14 22:46] (Version actuelle) – andre_domenech | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | Traditionally our family has two periods of the year that we do a big cleanup - spring cleaning and at the start of a new year. This year, instead of tossing out our old Athlon64, I decided to reuse it as a development server for our existing MMORPG server. I first became aware of The Mana World (TMW) in late 2007 when the client software, tmw, appeared in the universe repositories of Ubuntu 7.10, Gutsy Gibbon. At the time, the TMW client was primitive but quite functional. Over the past several years, the game has advanced both on the client and server side. | + | **Traditionally our family has two periods of the year that we do a big cleanup - spring cleaning and at the start of a new year. This year, instead of tossing out our old Athlon64, I decided to reuse it as a development server for our existing MMORPG server. I first became aware of The Mana World (TMW) in late 2007 when the client software, tmw, appeared in the universe repositories of Ubuntu 7.10, Gutsy Gibbon. At the time, the TMW client was primitive but quite functional. Over the past several years, the game has advanced both on the client and server side. |
- | The great thing about running a TMW server is that it doesn’t require a lot of horsepower if you plan on running a small server for friends and family. We originally set up our server on a Pentium III 1.1 GHz CPU with 256 MB of RAM (mind you the hard drives were lightning fast 15,000 RPM SCSI drives). This setup was enough to host 5 simultaneous players over the Internet on our ADSL connection. Currently, we host the Auldsbel server on a hyperthreaded Pentium 4 2.8 GHz system with 2 GB of RAM, and that also runs the front facing web server. Hosting a web server is helpful for getting the client software to show who else is online, but it’s not necessary to get the server running. | + | The great thing about running a TMW server is that it doesn’t require a lot of horsepower if you plan on running a small server for friends and family. We originally set up our server on a Pentium III 1.1 GHz CPU with 256 MB of RAM (mind you the hard drives were lightning fast 15,000 RPM SCSI drives). This setup was enough to host 5 simultaneous players over the Internet on our ADSL connection. Currently, we host the Auldsbel server on a hyperthreaded Pentium 4 2.8 GHz system with 2 GB of RAM, and that also runs the front facing web server. Hosting a web server is helpful for getting the client software to show who else is online, but it’s not necessary to get the server running.** |
- | We used a server install of Ubuntu 10.04 LTS as the base for our server, and used a notebook running the client software to test the configuration. You may want to install the server on a desktop version of Ubuntu if you plan on using a single machine for the server and client. The TMW server is based on the eAthena (newer TMW server software exists that’s written from scratch, but the main server still uses modified eAthena code) project. | + | Habituellement, |
+ | |||
+ | La beauté d'un serveur TMW se trouve dans ses exigences qui sont minimes si vous avez l' | ||
+ | |||
+ | |||
+ | **We used a server install of Ubuntu 10.04 LTS as the base for our server, and used a notebook running the client software to test the configuration. You may want to install the server on a desktop version of Ubuntu if you plan on using a single machine for the server and client. The TMW server is based on the eAthena (newer TMW server software exists that’s written from scratch, but the main server still uses modified eAthena code) project. | ||
eAthena was originally developed as an open-source server Ragnarok, but TMW developers have done a great job modifying it for the Mana World client. To begin, you need to install git-core, build-essential, | eAthena was originally developed as an open-source server Ragnarok, but TMW developers have done a great job modifying it for the Mana World client. To begin, you need to install git-core, build-essential, | ||
Ligne 9: | Ligne 14: | ||
sudo apt-get install git-core build-essential flex bison | sudo apt-get install git-core build-essential flex bison | ||
- | Next you create a directory to hold the server software, and download and build the tmw-ea server software: | + | Next you create a directory to hold the server software, and download and build the tmw-ea server software:** |
- | mkdir ~/tmw-ea | + | Comme base de notre serveur, nous avons utilisé une installation serveur d' |
+ | |||
+ | Au départ, eAthena fut développé comme un serveur Ragnarok open-source, | ||
+ | |||
+ | sudo apt-get install git-core build-essential flex bison | ||
+ | |||
+ | Vous devez ensuite créer un répertoire pour les logiciels serveurs, puis télécharger et compiler les logiciels serveurs tmw-ea : | ||
+ | |||
+ | **mkdir ~/tmw-ea | ||
cd ~/tmw-ea | cd ~/tmw-ea | ||
Ligne 31: | Ligne 44: | ||
sudo cp login-server char-server map-server ladmin / | sudo cp login-server char-server map-server ladmin / | ||
- | The next step is to add git hooks to allow updating of the client data. Without this step, you’ll still be able to run the server software, you just won’t be able to pull updates from the git repositories. | + | The next step is to add git hooks to allow updating of the client data. Without this step, you’ll still be able to run the server software, you just won’t be able to pull updates from the git repositories.** |
- | cd ../ | + | mkdir ~/tmw-ea |
+ | |||
+ | cd ~/tmw-ea | ||
+ | |||
+ | git clone git:// | ||
+ | |||
+ | git clone --recursive git:// | ||
+ | |||
+ | cd eathena | ||
+ | |||
+ | Soyez patient pendant que git clone les dépôts. Selon la version d' | ||
+ | |||
+ | mkdir -p obj/ | ||
+ | |||
+ | make | ||
+ | |||
+ | |||
+ | Plusieurs serveurs peuvent être lancés à partir du même point, mais vous devrez copier les binaires du serveur principal tmw-ea vers un dossier standard : | ||
+ | |||
+ | sudo cp login-server char-server map-server ladmin / | ||
+ | |||
+ | La prochaine étape est de rajouter des « git hooks » pour permettre la mise à jour des données des clients. Sans cette étape vous pouvez toujours exécuter les logiciels du serveur, mais vous ne pourrez pas récupérer des mises à jour des dépôts git. | ||
+ | |||
+ | **cd ../ | ||
ln -s ../ | ln -s ../ | ||
Ligne 50: | Ligne 86: | ||
At this point, our server is set for us to log-in locally. I set up a static IP for the development server in our Tomato-MLPPP Linksys WRT54L router, and assigned it the same hostname I assigned the production system. Before we can test the server, we have to load 3 server processes: the character server, the login server, and the map server (the configuration files for these three servers are what we’ll modify later for an Internet facing server). For now we’ll load the server executables to test the server: | At this point, our server is set for us to log-in locally. I set up a static IP for the development server in our Tomato-MLPPP Linksys WRT54L router, and assigned it the same hostname I assigned the production system. Before we can test the server, we have to load 3 server processes: the character server, the login server, and the map server (the configuration files for these three servers are what we’ll modify later for an Internet facing server). For now we’ll load the server executables to test the server: | ||
+ | |||
+ | cd ~/ | ||
+ | |||
+ | ./ | ||
+ | |||
+ | cd ../ | ||
+ | |||
+ | ln -s ../ | ||
+ | |||
+ | ln -s ../ | ||
+ | |||
+ | Enfin, il faut faire les fichiers de configuration et « checkout » les donnée clients et de la musique funky : | ||
+ | |||
+ | cd client-data | ||
+ | |||
+ | git checkout master | ||
+ | |||
+ | cd music | ||
+ | |||
+ | git checkout master | ||
+ | |||
+ | À ce stade, notre serveur est prêt pour que nous nous connections localement. J'ai paramétré une IP statique pour le serveur de développement dans notre routeur Tomato-MLPPP Linksys WRT54L et lui ai assigné le même « hostname » que j' | ||
cd ~/ | cd ~/ | ||
Ligne 55: | Ligne 113: | ||
./ | ./ | ||
- | When you log in to the server for the first time, you’ll see the character log-in on the terminal you launch the server from. | + | **When you log in to the server for the first time, you’ll see the character log-in on the terminal you launch the server from. |
From my notebook I loaded the TMW client: | From my notebook I loaded the TMW client: | ||
Ligne 63: | Ligne 121: | ||
There are a number of TMW clients. The one in the Ubuntu 10.04 repository is a bit dated and freezes for GM’s when they entered a room where clients were logged in. Better to use the manaplus client available from http:// | There are a number of TMW clients. The one in the Ubuntu 10.04 repository is a bit dated and freezes for GM’s when they entered a room where clients were logged in. Better to use the manaplus client available from http:// | ||
- | When the TMW client is loaded, click the Custom Server button, and enter the hostname you gave your server (or domain-name/ | + | When the TMW client is loaded, click the Custom Server button, and enter the hostname you gave your server (or domain-name/ |
- | When the client connects, click the register button. Note: you cannot register through the client if you intend to play on the official Mana World server. On the main server, you have to register through the web site, and wait for approval. On your own server you just register a username. | + | Lorsque vous vous connectez au serveur pour la première fois, vous verrez le login du personnage sur le terminal à partir duquel vous lancez le serveur. |
+ | |||
+ | J'ai chargé le client TMW à partir de mon portable : | ||
+ | |||
+ | sudo apt-get install tmw | ||
+ | |||
+ | Il y a de nombreux clients TMW. Celui dans le dépôt d' | ||
+ | |||
+ | Quand le client TMW a été chargé, cliquez sur le bouton « Custom Server » et rentrez le « hostname » (ou nom de domaine/ ou nom DNS) que vous avez attribué à votre serveur. À ce stade, nous ne faisons que confirmer que le serveur fonctionne localement et nous faisons le nécessaire à fin d' | ||
+ | |||
+ | **When the client connects, click the register button. Note: you cannot register through the client if you intend to play on the official Mana World server. On the main server, you have to register through the web site, and wait for approval. On your own server you just register a username. | ||
The next screen is the character management screen where you choose a character. Since this is the first time you’ve logged on, all the character slots will be blank. Create a character and assign statistics on the next screen. You can also change hair color and hair style. As you might have guessed, one user login can have multiple characters. | The next screen is the character management screen where you choose a character. Since this is the first time you’ve logged on, all the character slots will be blank. Create a character and assign statistics on the next screen. You can also change hair color and hair style. As you might have guessed, one user login can have multiple characters. | ||
Ligne 71: | Ligne 139: | ||
You want to make sure you create a character before inviting anyone else to the server so you can set the first character to be the game master (GM). The TMW variation of eathena stores character data in ~/ | You want to make sure you create a character before inviting anyone else to the server so you can set the first character to be the game master (GM). The TMW variation of eathena stores character data in ~/ | ||
- | account_number gm_level | + | account_number gm_level** |
- | The first user account is normally assigned a number of 2000000. Subsequent accounts increment the user account number by 1, so the next user account created would be 2000001. So to make the first user account GM we would give the gm_account.txt the following information: | + | Quand le client se connecte, cliquez sur le bouton « register ». N.B. : Il n'est pas possible de vous inscrire à partir du client si vous avez l' |
+ | |||
+ | L' | ||
+ | |||
+ | Vous devez vous assurer de créer un personnage avant d' | ||
+ | |||
+ | numéro_de_compte niveau_gm (account_number gm_level). | ||
+ | |||
+ | **The first user account is normally assigned a number of 2000000. Subsequent accounts increment the user account number by 1, so the next user account created would be 2000001. So to make the first user account GM we would give the gm_account.txt the following information: | ||
20000000 99 | 20000000 99 | ||
Ligne 79: | Ligne 155: | ||
The ~/ | The ~/ | ||
- | GM’s have the power to create items, spawn monsters, warp to players, warp players to other places, even launch an all-out player versus player war, so choose your GMs carefully. GM actions are logged in a plain text file tmw-ea/ | + | GM’s have the power to create items, spawn monsters, warp to players, warp players to other places, even launch an all-out player versus player war, so choose your GMs carefully. GM actions are logged in a plain text file tmw-ea/ |
+ | |||
+ | Normalement, | ||
+ | |||
+ | 2000000 99 | ||
+ | |||
+ | Le fichier ~/ | ||
+ | |||
+ | Les GM peuvent créer des objets, faire apparaître des monstres, se téléporter jusqu' | ||
- | Putting your server online | + | **Putting your server online |
In order to make your server available to everyone on the Internet, you’ll need to punch some holes in the firewall of your router. In particular, TCP and UDP for ports 5122, 6122, and 6901. You’ll also need to modify the configuration files for the server executables. There are a lot of configuration files, in a few places. The configuration files we want are all suffixed with _local.conf. In particular we want to modify the following files: | In order to make your server available to everyone on the Internet, you’ll need to punch some holes in the firewall of your router. In particular, TCP and UDP for ports 5122, 6122, and 6901. You’ll also need to modify the configuration files for the server executables. There are a lot of configuration files, in a few places. The configuration files we want are all suffixed with _local.conf. In particular we want to modify the following files: | ||
Ligne 91: | Ligne 175: | ||
There are 3 variables we want to set, the IP addresses for the login server, the character server, and the map server. If you’re using a dynamic DNS service, the dynamic DNS name can be used in the place of the character and map server, but you should use your local address for the login server (on our test server we used 127.0.0.1 and it worked fine for the login server). Note that if your DNS changes while the server is online the server may be unavailable. Our ISP offers a very inexpensive static IP address, which is what we use in place of the character and map server variables. Our char_local.conf looks something like this: | There are 3 variables we want to set, the IP addresses for the login server, the character server, and the map server. If you’re using a dynamic DNS service, the dynamic DNS name can be used in the place of the character and map server, but you should use your local address for the login server (on our test server we used 127.0.0.1 and it worked fine for the login server). Note that if your DNS changes while the server is online the server may be unavailable. Our ISP offers a very inexpensive static IP address, which is what we use in place of the character and map server variables. Our char_local.conf looks something like this: | ||
+ | |||
+ | // Comment : Login server IP | ||
+ | login_ip: 127.0.0.1 | ||
+ | // Comment : Character server IP | ||
+ | char_ip: auldsbel.dyndns.org** | ||
+ | |||
+ | La mise en ligne de votre serveur | ||
+ | |||
+ | Afin de rendre votre serveur disponible en ligne pour tous, vous aurez besoin de percer quelques trous dans le pare-feu de votre routeur. | ||
+ | |||
+ | ~/ | ||
+ | ~/ | ||
+ | ~/ | ||
+ | |||
+ | Il y a 3 variables que nous devons régler : l' | ||
// Comment : Login server IP | // Comment : Login server IP | ||
Ligne 97: | Ligne 196: | ||
char_ip: auldsbel.dyndns.org | char_ip: auldsbel.dyndns.org | ||
- | Similarly our map_local.conf looks like this: | + | **Similarly our map_local.conf looks like this: |
// Character Server IP | // Character Server IP | ||
Ligne 111: | Ligne 210: | ||
URLs of Interest: | URLs of Interest: | ||
+ | The Mana World - http:// | ||
+ | TMW Forums - http:// | ||
+ | TMW Wiki - http:// | ||
+ | How to Develop (& server set-up) - http:// | ||
+ | Auldsbel TMW server: http:// | ||
+ | |||
+ | De façon similaire, notre map_local.conf ressemble à ceci : | ||
+ | |||
+ | // Character Server IP | ||
+ | char_ip: auldsbel.dyndns.org | ||
+ | // Map server IP | ||
+ | map_ip: auldsbel.dyndns.org | ||
+ | |||
+ | Le fichier ladmin_local.conf est un important fichier de configuration utilisé par l' | ||
+ | |||
+ | Vous trouverez de nombreux autres fichiers de configuration dans le répertoire ~/ | ||
+ | |||
+ | Comme pas mal de logiciels sous Linux, le serveur Mana World eAthena peut être personnalisé à volonté. Alors que vous faites tourner un serveur identique au serveur principal, vous voudrez sans doute personnaliser le vôtre davantage. Des renseignements sur une personnalisation plus poussée se trouvent sur les forums et le wiki de Mana World, ainsi que dans les sections du site Web Mana World « How to Develop » (comment développer). | ||
+ | |||
+ | Des URL intéressantes : | ||
+ | |||
The Mana World - http:// | The Mana World - http:// | ||
TMW Forums - http:// | TMW Forums - http:// |
issue57/labolinux.1328561475.txt.gz · Dernière modification : 2012/02/06 21:51 de fredphil91