server configuration
Mana server Configuration
Note: This article is about setting up your own the Mana server, either for testing purposes or because you want to provide an alternative to the official server.
To get support about setting up a TmwAthena server, please have a look at The Mana World wiki.
There are several steps to achieve this:
Running the Mana server
-
Prepare the different configuration files as much as you can, starting by the manaserv.xml file: The server uses the following configuration files:
manaserv.xml
data/attributes.xml
data/equip.xml
data/items.xml
data/skills.xml
data/maps.xml
data/monsters.xml
data/permissions.xml -
Get the client data from Git and put it into a
client-data
directory where you will be running the game server from. - Get the server data, also from git, and put it into a
server-data
directory. - Copy the
docs/manaserv.xml.example
file to your favourite directory with the namemanaserv.xml
, for instance and change the following configuration values to your corresponding client-data and server-data paths:serverPath
to the default path.clientDataPath
to the path of your client data.serverDataPath
to the path of your server data.
- Note that you can use the data given in the
example/
folder to start with a proper base. - Start the account server and the game server (The starting sequence doesn't matter.).
Note: you can use the --config
option to set where your manaserv.xml file is located. E.g.:
manaserv-game --config /path/to/my/manaserv.xml
Tip: Type manaserv-account --help
and manaserv-game --help
to get the list of available options.
Making yourself a GM
This assumes that you are using sqlite as database backend (default) and that your accountname is "MyAccount". When you use another database backend you should be able to use the same SQL statements but you will need different tools to run them. Giving GM rights to an account with a name different from "MyAccount" is an exercise left to the reader :)
For SQLite database users (default)
- Get sqlite3 from http://www.sqlite.org/download.html
- Put it into the manaserv directory
- Open a command prompt inside the Mana server directory
- Enter
sqlite3 mana.db "UPDATE mana_accounts SET level=255 WHERE username='MyAccount';"
- You can check if you were successful by entering
sqlite3 mana.db "SELECT username, level FROM mana_accounts;"
(lists all accounts and their userlevels) orsqlite3 mana.db "SELECT username FROM mana_accounts WHERE level > 1;"
(lists all GM accounts)
For MySQL database users
- The SQL requests are the same, except that you'll have to logon the mySQL server, using a shell command for instance: mysql --user=<user> --password=<password> --hostname=<hostname> --port=<port>
- Choose the database:
use <my-database-name>;
- Then, you can enter the SQL requests:
"UPDATE mana_accounts SET level=255 WHERE username='MyAccount';"
- You can check if you were successful by entering
"SELECT username, level FROM mana_accounts;"
(lists all accounts and their userlevels) or"SELECT username FROM mana_accounts WHERE level > 1;"
(lists all GM accounts)
For PostgreSQL database users
FIXME: This is to be done.
Note: The level 255 means maximum rights. When you want to give selected people limited rights, refer to the permissions.xml file configuration.
Basic knowledge of SQL and how to use it is an important skill for a Mana server administrator.