Configuration file server.ini
使用名为server.ini的配置文件配置服务器。 可以使用-c命令行参数使用其他文件。 在大多数情况下,游戏将提供您应执行以生成server.ini文件的GenerateINI程序。 不过,了解存在哪些参数以及如何设置这些参数可能会很有趣。
如果您正在编写自己的游戏,则还应该查看提供的GenerateINI程序。
Database Configuration
Marauroa needs access to a database. MySQL and H2 are actively
supported and tested. Other database may work too, perhaps with a few
tweaks.
H2 is cool because it works out of the box without having to
setup a database server: You just need to specify a filename which will
be created automatically. In this example it is called marauroa-h2db and
the "~" means that it is created in your home folder.
# example database connection to H2
database_adapter=marauroa.server.db.adapter.H2DatabaseAdapter
jdbc_url=jdbc:h2:~/marauroa-h2db;AUTO_RECONNECT=TRUE;DB_CLOSE_ON_EXIT=FALSE;AUTO_SERVER=TRUE
jdbc_class=org.h2.Driver
MySQL is a classical database server. As such it has to be setup
separately. After creating a database and a user you can configure it
like this:
# example database connection for MySQL
jdbc_url=jdbc:mysql://localhost/marauroa
jdbc_class=com.mysql.jdbc.Driver
jdbc_user=username
jdbc_pwd=password
Game Configuration
The next section is game specific. You usually don't have to edit it. It
allows the games to define classes that customize the the framework.
This is explained in detail in the tutorial.
# game specific setting
database_implementation=games.stendhal.server.core.engine.StendhalPlayerDatabase
factory_implementation=games.stendhal.server.core.engine.StendhalRPObjectFactory
world=games.stendhal.server.core.engine.StendhalRPWorld
ruleprocessor=games.stendhal.server.core.engine.StendhalRPRuleProcessor
python_script=
Server
In the server section you can configure the tcp port and turn time.
Normally the games provide recommendations for both settings. You can
enable logging of server statistics by providing a file name for the
statistics_filename parameter. And in case you need to debug the server,
you can provide your own log4j configuration file.
tcp_port=32160
turn_length=300
statistics_filename=server_stats.xml
log4j_url=marauroa/server/log4j.properties
Version and contact information:
server_typeGame=stendhal
server_service=stendhal
server_name=Stendhal server
server_version=0.81
server_contact=https://sourceforge.net/tracker/?atid=514826&group_id=66537&func=browse
Limits
You can define some limits to prevent flooding by huge amounts of data,
lots of message or lots of players. This is particularly useful if your
server is behind a small Internet connection.
allowed_bytes_per_second=1024
allowed_messages_per_second=20
max_number_of_players=128
There is a second set of settings very similar to the above. But those
ones are not about resource usage but more about preventing trouble:
account_creation_counting_time=3600
account_creation_limit=5
parallel_connection_limit=10
ip_whitelist=127.0.0.1
Other limits:
limit_characters_per_account=2147483647
Account and character creation
Since Marauroa 3.8.4 it is possible to disable account and character creation using
allow_account_creation=false
allow_character_creation=false
This is useful if account creation is done using other means. For
example filling the account, characters and rpobjects table from an
other application. It is used on stendhalgame.org for the test server
because the test database shares the accounts with the main database.
Since Marauroa 3.9.5 it is possible to define the initial status of new accounts.
account_creation_status=active
RSA
RSA is the encryption algorithm used to protected the client server
communication. Note: You need to generate your own pair of primes using
GenerateINI. Do not use the following examples.
n=2408376769632966826891253753617412746862686794740723175774423430043927850498085639220684795629747326949838501777926669337171495421818563824539329224927899179237
e=15
d=2247818318324102371765170170042918563738507675091341630722795201374332660464879838332237004076252849654527963214772652641735279016325354691167883850414929419335