The Setup

The setup of ThemePark is easy, if you follow this guide!

Installation of the plugins:

Just download the plugin of Spigot, and install it into your /plugins folder. The plugin will do everything for you, and you can change everything in the files.If you want to use all the functions of ThemeParkPlus Basic, you have to do some more things.

With the old plugin it was possible to add attractions via commands. From now on this has to be done via the attraction.yml file.

For the Plus plugin you need the Free version, and Vault for the FastPass system. Just put all the plugins in you /plugins folder and restart the server.

If you're going to install the ThemeParkPanel, you also need the ThemeParkConnector. This plugin connects the panel with the Spigot server, so that the panel can work. Just put this plugin in your /plugins folder as well. For usage with the panel, you have to connect the Free version, and the Connector to the database that you're going to use for the panel. Please see step 2 of the ThemeParkPanel installation.

If you're going to install the ThemeParkPanelPlus, you have to change some things in the settings.yml of the ThemeParkConnector. Change it to something like this:

settings.yml
socket:
enabled: true
url: "wss://websocket.iobyte.nl/"
panel: "https://panel.domain/panel/panel/"
id: "CHANGEME"

You don't have to touch the url. At the panel, you have to change it to the panel URL. If your panel is located at https://something.com/panel, then you have to enter https://something.com/panel/panel/ there. Also, you have to make up an ID, that is unique for your server, like your server name. Put it at the id.

Installation of ThemeParkPanel:

Dependencies:

  • A webhosting with:

    • 1 MYSQL database

    • An SMTP mail server

    • Minimal PHP version 7.2 (support)

  • A minecraft server with:

    • The ThemePark plugin

    • The ThemeParkConnector plugin

You can install the panel in 2 ways. If your webhosting has SSH access, follow these steps. Otherwise, follow the steps for webhosting without SSH access.

Installation with SSH Access support:

1. Connecting to SSH

This step is different for every webhosting. I'm going to follow the way for Vimexx, but you have to contact your Webhosting to find out the way to do it for you.

If you are using Windows, you need PuTTY or an equivalent program to connect to the SSH. You can download it at https://www.putty.org/

Windows:

Mac:

  1. Open PuTTY

  2. Enter the hostname of your webhosting at "Host Name".

  3. Enter the port of your webhosting at "Port".

  4. Click on Open.

  5. Enter the username and password of your DirectAdmin account.

  6. Done! You are connected to your SSH.

  1. Open the Terminal.

  2. Enter the command:

    ssh -p <Port> <Username>@<Hostname>
  3. At <Hostname>, enter your hostname. At <Username>, enter the username of your DirectAdmin account. At <Port>, enter the port.

  4. Enter the password of your DirectAdmin account

  5. Done! You are connected to your SSH.

2. Connecting to FTP

You need to install Filezilla or WinSCP to send the files to your webhosting. You need to install the Client. At Filezilla, click on the icon on the left (Site Manager), and click on New Site. Then fill in your credentials of the FTP server and click on Connect.

In your FTP, select your domain and put the files of the SSH ZIP into your FTP.

3. Setting up the database:

Go to the homepage of DirectAdmin and go to MYSQL Management. Click on Create new Database and fill in the data. Also, save this data somewhere, because you need it later.

After you've created it, you have to click on your database, and at Access Hosts, you have to put in a % and click on Add Host, so that the Minecraft server can find the database and can connect to it. This is VERY important!

4. Editing the config and running installation

Run the following commands:

cp .env.example .env
nano .env

Then change all the settings in that file. Change the APP_URL to the url of your panel, and STORE_URL to the url of your store.

At DB_ you can change the database credentials of the database you created.

For the MAIL_ settings you have to create a mail account, and then lookup the SMTP server from your hosting. Ask your hosting for support if you are unable to do this.

Pay attention! Some hostings are using SSL or no encryption for the SMTP server. Then leave the MAIL_ENCRYPTION setting empty.

Then run the following commands to install your panel and create your database:

composer install --no-dev --optimize-autoloader
php artisan key:generate --force
php artisan migrate --force

Now your database is ready for usage.

5. Rewriting users to your panel (public folder):

Because of safety reasons, all the files who are needed for users aren't included in the main map, but in the /public folder. You have to redirect the users to this folder, by using the .htaccess file. It's included in the ZIP, but you HAVE TO change it.

Create a .htaccess file in the panel main folder, and put this into it:

.htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ ^$1 [N]
RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
RewriteRule ^(.*)$ public/$1
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ server.php
</IfModule>

Code from: https://gist.github.com/liaotzukai/8e61a3f6dd82c267e05270b505eb6d5a

Installation without SSH Access:

1. Setting up the database:

Go to the homepage of DirectAdmin and go to MYSQL Management. Click on Create new Database and fill in the data. Also, save this data somewhere, because you need it later.

After you've created it, you have to click on your database, and at Access Hosts, you have to put in a % and click on Add Host, so that the Minecraft server can find the database and can connect to it. This is VERY important!

Now you have to upload the SQL-file, so that the plugin can upload his attractions. Open your database with PHPMyAdmin, and go to Import in the menu, and then choose the SQL-file at "File to import:". Then click on the Start button. Now it's uploaded.

2. Installing the panel to your webserver:

You need to install Filezilla or WinSCP to send the files to your webhosting. You need to install the Client. At Filezilla, click on the icon on the left (Site Manager), and click on New Site. Then fill in your credentials of the FTP server and click on Connect.

In your FTP, select your domain and put the files of the Non-SSH ZIP into your FTP.

Now copy the .env.example file and rename it to .env.

Then you have to change the settings in the .env file. Change the APP_URL to the url of your panel, and STORE_URL to the url of your store.

At DB_ you can change the database credentials of the database you created.

For the MAIL_ settings you have to create a mail account, and then lookup the SMTP server from your hosting. Ask your hosting for support if you are unable to do this.

Pay attention! Some hostings are using SSL or no encryption for the SMTP server. Then leave the MAIL_ENCRYPTION setting empty.

3. Rewriting users to your panel (public folder):

Because of safety reasons, all the files who are needed for users aren't included in the main map, but in the /public folder. You have to redirect the users to this folder, by using the .htaccess file.

Create a .htaccess file in the panel main folder, and put this into it:

.htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ ^$1 [N]
RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
RewriteRule ^(.*)$ public/$1
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ server.php
</IfModule>

Code from: https://gist.github.com/liaotzukai/8e61a3f6dd82c267e05270b505eb6d5a

Installation of ThemeParkPanelPlus:

1. Installing the panel:

The installation of the Plus panel is very simple! Just extract all the files of the ThemeParkPanelPlus ZIP into the main folder of the panel.

Then go to routes/web.php and add this at the bottom of the file:

web.php
//ThemeParkPanelPlus
Route::get('/control/{attraction_id}/{pin}', 'ControlController@index');

2. Setting up the panel:

Open the .env file. Add this at the bottom of the file:

.env
CONTROL_ID=CHANGEME

Change the CHANGEME to the ID that you made up in the settings.yml file of the Connector plugin.

The panel URL for the ThemeParkConnector plugin changed with the newest version of the panel. Please make sure it looks like the code below.

settings.yml
socket:
panel: "https://domain.com/control/%ATTRACTION%/%PIN%"

Installation of ActionFoto:

Just download the plugin on the site, and install it into your /plugins folder. The plugin will do everything for you, and you can change everything in the files.

Note that there are 2 dependencies needed to run this plugin you can find them here and here.

Installation of ThemeParkPlus ridecount add-on:

You need to install this plugin just like ActionFoto. Download the plugin on the site, install it into your /plugins folder.

Note that this plugin uses the same dependencies as ActionFoto.