Setting up the Database
- Download and install XAMPP (Windows, Linux). Make sure you have both apache and mysql selected when you install it.
- Run XAMPP Control Panel (Open start menu, type 'xampp' in the search field and run it)
- Click 'Start' next to Apache and MySQL in the control panel. (Apache often conflicts with skype, so make sure you have skype off: Right click it's icon in the tray and click quit. Hiding it is not enough.)
- Go to the following address in your browser: http://localhost/phpmyadmin (will only work once you start up both Apache and MySQL in the XAMPP Control Panel)
- Click on the button titled SQL in the row of buttons at the top.
- Open the file 'SQL/paradise_schema.sql' in notepad and copy its content. You can also find it here, but it may be newer than the version you are using.
- Paste the file's content into the input field for sql in phpmyadmin and hit 'Execute' in the bottom right
- Once you execute this, a new database should be added to the list on the left, called 'feedback'. If not, refresh the page. If you click on the database, it should show you all the tables it includes. At this point, you have created the database 'infrastructure'. You now have to create a user for it.
- Click on 'SQL' in the top again, and execute the following statement: GRANT ALL on feedback.* TO 'username'@'localhost' IDENTIFIED BY 'password'; Replace username and password with your preferred credentials. Be careful to copy all the apostrophes. This will create a new user and grant him all privileges for the feedback database.
- Please keep phpmyadmin open for a while longer.
- If you still haven't copy all the files from the folder Paradise/config/example to Paradise/config
- Open the file Paradise/config/dbconfig.txt in notepad
- Make sure to set it so that:
- SQL_ENABLED does not have a # in front of it
- ADDRESS localhost
- PORT 3306
- FEEDBACK_DATABASE feedback
- FEEDBACK_LOGIN myuser (where myuser is the username you set in the CREATE USER statement)
- FEEDBACK_PASSWORD mypass (where mypass is the password you set in the CREATE USER statement)
- The database is now set up for death logging, population logging, 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 banning
Offers temporary jobbans, admin bans, cross-server bans, keeps bans logged even after they've expired or were unbanned, and allows for the use of the off-server ban log.
To enable database based banning:
- Open Paradise/config/config.txt
- Add a # in front of BAN_LEGACY_SYSTEM, so the line looks like "#BAN_LEGACY_SYSTEM"
- Done. Note that any legacy bans are no longer enforced once this is done! So it's a good idea to do it when you're starting up.
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.txt
- Add a # in front of ADMIN_LEGACY_SYSTEM, so the line looks like "#ADMIN_LEGACY_SYSTEM"
- Add a database entry for the first administrator (likely yourself).
- Done. Note that anyone in admins.txt lost admin status, including you!
- If your database ever dies, your server will revert to the old admin system, so it is a good idea to have admins.txt and admin_ranks.txt set up with some admins too, just so the loss of the database doesn't completely destroy everything.