ES/Manual del Servidor

From Multi Theft Auto: Wiki
Revision as of 03:37, 24 August 2009 by Ryder! (talk | contribs)
Jump to navigation Jump to search

Introducción

Es mucho más fácil de lo que parece tener un servidor funcionando en Internet o en LAN: sigue este articulo y estarás listo para hospedar tu propio servidor de MTA:SA en muy poco tiempo

Instalando el servidor

El servidor dedicado esta disponible en diferentes distribuciones dependiendo de la plataforma del equipo.

Instalación en Linux

Sigue el siguiente link para aprender a compilar el servidor en Linux

Instalación en Windows

Instalar un servidor de MTA:SA en Windows es muy facil.

  • Dirígete a la pagina de descargas y baja hacia la sección "Dedicated servers"
  • Haz click en el link de descarga Windows.
  • Abre el instalador una vez que se haya descargado.
  • Selecciona una carpeta donde quieras instalar el servidor.
  • Haz click en Install.
  • Listo!

Para una explicación detallada del acl.xml (access control list) lee: Access Control List

Configurando tu servidor

El servidor Multi Theft Auto se puede configurar a través de la consola, desde el juego o desde una aplicación web. Para hacer uso de estos dos últimos, es necesario añadir un administrador en el archivo de configuración (acl.xml).

Configuración general

Todas las opciones de configuración estan en el archivo 'mods/deathmatch/mtaserver.conf' y puede ser abierto con cualquier editor de texto.

Cada variable tiene su propia descripción por lo que te sera muy fácil configurar tu servidor.

Redireccionamiento de puertos

Si tienes tu servidor en tu propio computador y tienes acceso a internet mediante un router entonces necesitaras redireccionar 3 puertos.

Primero que nada abre el archivo 'mods/deathmatch/mtaserver.conf' y busca las siguientes lineas:

<serverport>22004</serverport> 
<httpport>22005</httpport>

Los puertos son necesarios para configurar bien tu servidor. Explicaremos mas adelante como configurarlos, pero primero si quieres que tu servidor aparezca en la lista de servidores necesitaremos otro puerto adicional, se trata del puerto ase. (pequeño ejemplo para habilitar el ase):

<ase>1</ase> <!-- 0 = off, 1 = on -->

Ahora vamos a redireccionar los puertos del router, que no son necesarios si tienes todos los puertos abiertos, o si no tienes un router con cortafuegos (firewall). Si es así, ignora esta parte.

Si no sabes como funciona el redireccionamiento de puertos en tu router, ve a: http://www.portforward.com/, encuentra tu router y sigue las instrucciones en esa pagina.

En casi todos los routers puedes seleccionar el tipo de puerto: UDP o TCP. La siguiente lista explica que tipo de puerto se necesita y para que:


Puerto principal del servidor: UDP

Puerto HTTP: TCP

Puerto ASE: UDP (es necesario si quieres que tu servidor aparezca en la lista de servidores)


El puerto ASE debe ser de la siguiente manera:

Puerto ASE = Puerto principal del servidor + 123

De esta manera, si el puerto principal de tu servidor es 22003, entonces el puerto ASE deberá ser 22126 (22003+123 = 22126).

Buena suerte!

Añadiendo administradores

Es muy recomendable añadir por lo menos un administrador a tu servidor para hacer uso de la aplicación web donde se puede mantener y configurar tu servidor. Este administrador podrá también controlar el servidor desde el juego.

Para añadir un administrador al servidor, sigue los siguientes pasos:

  1. Asegúrate de que tu servidor esta apagado, de lo contrario todos los cambios que hagas no se guardarán.
  2. Abre el archivo 'mods/deathmatch/'accounts.xml' con cualquier editor de texto
  3. Add a new account into the file by using the XML-syntax below, we use the username "BennyLava" with password "123password" for illustration purposes
    <accounts>
      ...
      <account name="BennyLava" password="123password" />
    </accounts>
    
  4. Save and close the file
  5. Open the file 'mods/deathmatch/'acl.xml' with any text editor
  6. Add the account to the Admin group by using the XML-syntax below
    <ACL>
      ...
      <group name="Admin">
        <acl name="Admin"/>
        ...
        <object name="user.BennyLava" />
      </group>
      ...
    </ACL>
    

    You can actually add your user to any group you want. Each group is linked to an ACL (Access Control List). Each ACL contains a series of specific allowed or denied rights. These groups exist so different users can be assigned different rights. The Admin group points to the Admin ACL, which is empty (thus allowing all possible commands). The Everyone group points to the Default ACL that puts a series of restrictions on the available commands (to disallow regular players from using admin commands).

  7. You're done! You can add as many administrators or users as you want this way, take a look at some of the other groups and ACLs for example. The ACL is also accessible through the Lua scripting engine.
    It is recommended to take a look at the web interface, we will explain how to do this below.

Note: There are also ways to add accounts and edit rights for the server while it's running. "addaccount <user> <password>" is an internal command to add accounts, but you will have to use the web interface to add these accounts to specific groups/ACLs!

Using the web interface

The dedicated server comes with a few Lua resources that provide a nice little web interface to your server. This can be used to easily maintain your server, as it allows you to add users, start/stop resources, and more.

The web interface resources are enabled by default and are served through the built-in HTTP web server. To make sure the built-in HTTP web server runs on a port you like (22005 by default), follow these steps:

  1. Make sure your server is stopped
  2. Open the file mods/deathmatch/mtaserver.conf with any text editor
  3. Verify that the HTTP server is enabled:
    	<httpserver>1</httpserver>
    
  4. Change the HTTP server port to your liking:
    	<httpport>22005</httpport>
    
  5. Save and close the configuration file
  6. Start your server
  7. If you happened to have changed the start-up resources in your configuration file, make sure the following resources are started:
    1. resourcebrowser
    2. resourcemanager
    3. webadmin
    4. webmap
    These are automatically started in the default configuration file, in case you just installed your server.
  8. Open a web browser (Internet Explorer 6 or 7 are NOT supported: use Mozilla Firefox, Google Chrome, Apple Safari, Opera or others) and navigate to the HTTP server URL: http://server:port/. For example, If you are running a local server on HTTP port 22005, use http://127.0.0.1:22005/.
  9. Enter the username and password of the administrator you added in the previous section.


You should now be able to maintain your server from the web interface.

Configuring an external web server

The built-in web server is also used to serve files that are required by resources running on your server to any player that is connected to your server. For example, if you are running a game script with a scripted graphical user interface, or custom models, these need to be transferred to every connected player in order to function properly. This is done by either the built-in web server, or an external web server (that is usually a bit faster) but needs to be set up separately.

For performance or consistency reasons during the game, you could choose to make use of such an external web server if you have one set up. The external web server needs to be accessible for the public, so any client will be able to download the necessary client-side files in order to join and play on your server.

To enable downloading off an external web server, you should configure the httpdownload and httpdownloadurl tags in your server configuration:

<httpdownload>1</httpdownload>	
<httpdownloadurl>http://www.myserver.tld/directory/here</httpdownloadurl>

Since all the default resources provided with the dedicated server are zipped, and are normally automatically extracted by the built-in web server, you now have to provide a way for the clients to download the unextracted files to their computers. The unextracted files are always available in the <SERVER>/mods/deathmatch/resourcecache directory.

  1. Launch the dedicated server once and exit again. This will extract the zip files into the <SERVER>/mods/deathmatch/resourcecache directory.
  2. Go into the directory above and copy the resources to your external web server's public directory, this can be done in several ways:
    • If you don't care about your server-side files being publically available: create a symbolic link (Linux), a junction (Windows) or just plain copy the contents of the resourcecache directory to your public web server directory.
    • If you don't want your server files to be publically available through your web server: go into the resourcecache directory and manually copy the folders over to your public web server directory, removing any server-side files (they are not necessary for the client-side downloading) you do not want to be hosting on your web server.

      A quick way of securing your server-side files is currently not available. We will investigate into developing a tool that automatically copies only the necessary client-side files for all resources on your server.

Note 1: Please try to avoid any special characters (e.g. ~, !) in your download URLs.
Note 2: Please do not use a trailing slash in your download URL (e.g. hxxp://www.myserver.tld/directory rather than hxxp://www.myserver.tld/directory/)

Starting your server

Begin by making sure that you have finished all configuration of your server, starting your server is the last stage so everything must be ready!

To start your server double click on MTA Server.exe, make sure you allow it through any firewalls and forward ports where nessessary.

Installing/Updating resources on your server

Resources can come in two formats, either a ZIP format or just a normal folder with the script files inside it. The MTA:SA DM server supports both these methods.

  1. Move or copy the new resource to your <SERVER>\mods\deathmatch\resources folder.
  2. In the server window type in the command "refresh" (without the quotes), this will re-scan the resources folder and update the live resources where necessary.

Uninstalling resources

Resources can easily be removed from your server if you no longer want them.

  1. Delete the ZIP file or the folder of the resource you wish to uninstall
  2. In the server window type in the command "refresh" (without the quotes), this will re-scan the resources folder and update the live resources where necessary.

Administrating your server

You can start resources by typing the command "start resourcename" in the server console, or stop ones with "stop resourcename".

It's also possible to execute these and other admin commands from the ingame console (which you can bring up with the ` key or F8); for this to work, you first need to log in with the command "login username password". Additionally, you can press the p key to bring up the admin panel: this is a graphical interface which allows you to easily kick or ban misbehaving players, among others.

For further commands, type "help" in a console.

Starting a map/gamemode

See the commands section of the documentation for mapmanager for more information.

Useful Notes

  1. You may also update the resources while ingame as long as you have the correct access levels by typing "refresh" in the clients console or "/refresh" in the chat window. This may cause a second of lag if you have many resources.
  2. In the above instructions, <SERVER> is the path to your server's main directory. In most cases this is C:\Program Files\MTA San Andreas\server
  3. You can choose a different config file for the server to use by passing it in the command line after a --config argument, e.g. mtaserver.exe --config anotherconfig.cfg.
  4. Do not be alarmed by the warning regarding the parsing of the settings.xml file. This happens because your server installation is still clean and unused.

Need further help?

Why not pop over to our Forums or join us on IRC (irc.multitheftauto.com #mta - MIRC)