Setting up the Database
Initial setup and installation
- Download and install MariaDB for your operating system.
- (Defaults should work, you need tcp enabled and to set a root password. If it offers, do not set it up to use windows authentication)
- If you've ticked Install as a Windows Service (should be ticked by default), it will run whenever you boot up your computer, so there's no need to worry about starting it manually.
- (Defaults should work, you need tcp enabled and to set a root password. If it offers, do not set it up to use windows authentication)
- Open HeidiSQL (comes with Mariadb) and connect it to the database.
- Click on new to create a new session, check prompt for credentials and leave the rest as default.
- Click save, then click open and enter in root for the username and the password you setup during the installation.
- Select the database you just created and then go to File -> Load SQL File, and open the paradise_schema.sql file found in the \SQL directory of the game. You can also find it here, but it may be newer than the version you are using.
- Press the blue play icon in the topic bar of icon hieroglyphs and pray. If the schema imported correctly you should have no errors in the message box on the bottom.
- Refresh the panel on the left by right clicking it and ensure there's a new database called "paradise_gamedb" created.
- Create a new user account for the server by going to Tools -> User manager.
- 'From host' should be 127.0.0.1, not localhost if hosted locally, otherwise use the IP of the game server.
- For permissions, do not give it any global permissions, instead click 'Add object', and then select the database you created for the server, hit ok, then give it SELECT, DELETE, INSERT, and UPDATE permissions on that database.
- You can click the arrow on the password field to get a randomly generated password of certain lengths, copy the password before saving as it will be cleared the moment you hit save.
- Open the file: \config\config.toml in notepad, notepad++, VSCode, or your favourite text editor, and scroll down to the
[database_configuration]
section. You should've copied the file over from the \example folder beforehand. - Make sure that these settings are changed:
sql_enabled
is set totrue
.sql_address
is set to"127.0.0.1"
. (Replace with the database server's IP if not hosted locally)sql_port
is set to whatever port was selected during the MariaDB install, usually3306
.sql_database
is set to the name of your database, usually"paradise_gamedb"
.sql_username
is set to the 'User name' of the user you created above.sql_password
is set to the randomly generated 'Password' of the user you created above.
- The database is now set up for death logging, population logging, polls, library, privacy poll, connection logging and player logging. There are two more features which you should consider. And it's best to do so now, since adopting them later can be a pain.
Database based administration
Offers a changelog for changes done to admins, which increases accountability (adding/removing admins, adding/removing permissions, changing ranks); allows admins with +PERMISSIONS to edit other admins' permissions ingame, meaning they don't need remote desktop access to edit admins; Allows for custom ranks, with permissions not being tied to ranks, offering a better ability for the removal or addition of permissions to certain admins, if they need to be punished, or need extra permissions. Enabling this can be done any time, it's just a bit tedious the first time you do it, if you don't have direct access to the database.
To enable database based administration:
- Open \config\config.toml and scroll to the
[admin_configuration]
section. - Set
use_database_admins
totrue
. - Add a database entry for the first administrator (likely yourself).
- Done! Note that anyone set in the
admin_assignments
list will no longer be counted. - If your database ever dies, your server will revert to the old admin system, so it is a good idea to have
admin_assignments
andadmin_ranks
set up with some admins too, just so that the loss of the database doesn't completely destroy everything.
Contribution Guides | |
---|---|
General | Guide to Contributing, Game Resources category, Github Glossary |
Setting up a server | Setting up the Database, Creating your own paracode server |
Coding | Understanding SS13 Code, SS13 for experienced programmers, Text Formatting |
Mapping | Guide to Mapping, |
Spriting | Guide to Spriting, |
Wiki | Guide to Editing the Wiki |