SBDevelopment
Search…
Setup of the Panels

ThemeParkPanel:

Requirements:

  • 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 you have your own VPS or 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. 1.
    Open PuTTY
  2. 2.
    Enter the hostname of your webhosting at "Host Name".
  3. 3.
    Enter the port of your webhosting at "Port".
  4. 4.
    Click on Open.
  5. 5.
    Enter the username and password of your DirectAdmin account.
  6. 6.
    Done! You are connected to your SSH.
  1. 1.
    Open the Terminal.
  2. 2.
    Enter the command:
    1
    ssh -p <Port> <Username>@<Hostname>
    Copied!
  3. 3.
    At <Hostname>, enter your hostname. At <Username>, enter the username of your DirectAdmin account. At <Port>, enter the port.
  4. 4.
    Enter the password of your DirectAdmin account
  5. 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:
1
cp .env.example .env
2
nano .env
Copied!
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:
1
composer install --no-dev --optimize-autoloader
2
php artisan key:generate --force
3
php artisan migrate --force
Copied!
Now your database is ready for usage.

5. Installing the theming ZIP

Now install the Theming ZIP. Just unzip it, upload, and override if required.

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

Because of safety, all the files who are not intended for users, are in the /public folder. This means you have to redirect the users to that folder.
Please choose the type of web server you want to use. If you don't know which type is used, try the Apache2 configuration first. Most shared hostings use Apache2.
Apache2
Nginx With SSL
NGINX Without SSL
There is an .htaccess file in the ZIP. Most of the time this file works fine. It's also included below, in the case it's missing.
.htaccess
1
IfModule mod_rewrite.c>
2
<IfModule mod_negotiation.c>
3
Options -MultiViews
4
</IfModule>
5
6
RewriteEngine On
7
8
RewriteCond %{REQUEST_FILENAME} -d [OR]
9
RewriteCond %{REQUEST_FILENAME} -f
10
RewriteRule ^ ^$1 [N]
11
12
RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
13
RewriteRule ^(.*)$ public/$1
14
15
RewriteCond %{REQUEST_FILENAME} !-d
16
RewriteCond %{REQUEST_FILENAME} !-f
17
RewriteRule ^ server.php
18
</IfModule>
Copied!
Nginx uses config files for setup. Below is an EXAMPLE configuration, which can be used to redirect users to the /public folder, while also supporting HTTPS / SSL.
Make sure to replace %DOMAIN% (everywhere) by your full domain, and %PATH% by the full installation path.
This config assumes you are using PHP 8.0. If you have another PHP version installed, please change the version on line 28.
/etc/nginx/sites-available/themeparkpanel.conf
1
server {
2
listen 80;
3
listen [::]:80;
4
5
server_name %DOMAIN%;
6
return 301 https://$server_name$request_uri;
7
}
8
9
server {
10
listen 443 ssl http2;
11
listen [::]:443 ssl http2;
12
13
ssl_certificate /etc/letsencrypt/live/%DOMAIN%/fullchain.pem;
14
ssl_certificate_key /etc/letsencrypt/live/%DOMAIN%/privkey.pem;
15
16
root /%PATH%/public;
17
18
index index.php index.html index.htm index.nginx-debian.html;
19
20
server_name example.com www.example.com;
21
22
location / {
23
try_files $uri $uri/ /index.php?$query_string;
24
}
25
26
location ~ \.php$ {
27
include snippets/fastcgi-php.conf;
28
fastcgi_pass unix:/run/php/php8.0-fpm.sock;
29
}
30
31
location ~ /\.ht {
32
deny all;
33
}
34
35
location ~ /.well-known {
36
allow all;
37
}
38
}
Copied!
Then you need to enable your configuration, like this:
1
# If you use CentOS, you can ignore this command.
2
sudo ln -s /etc/nginx/sites-available/themeparkpanel.conf /etc/nginx/sites-enabled/themeparkpanel.conf
3
4
# Then restart NGINX
5
systemctl restart nginx
Copied!
Nginx uses config files for setup. Below is an EXAMPLE configuration, which can be used to redirect users to the /public folder.
Make sure to replace %DOMAIN% (everywhere) by your full domain, and %PATH% by the full installation path.
This config assumes you are using PHP 8.0. If you have another PHP version installed, please change the version on line 28.
/etc/nginx/sites-available/themeparkpanel.conf
1
server {
2
listen 80;
3
listen [::]:80;
4
5
root /%PATH%/public;
6
7
server_name %DOMAIN%;
8
index index.php index.html index.htm index.nginx-debian.html;
9
10
server_name example.com www.example.com;
11
12
location / {
13
try_files $uri $uri/ /index.php?$query_string;
14
}
15
16
location ~ \.php$ {
17
include snippets/fastcgi-php.conf;
18
fastcgi_pass unix:/run/php/php8.0-fpm.sock;
19
}
20
21
location ~ /\.ht {
22
deny all;
23
}
24
25
location ~ /.well-known {
26
allow all;
27
}
28
}
Copied!
Then you need to enable your configuration, like this:
1
# If you use CentOS, you can ignore this command.
2
sudo ln -s /etc/nginx/sites-available/themeparkpanel.conf /etc/nginx/sites-enabled/themeparkpanel.conf
3
4
# Then restart NGINX
5
systemctl restart nginx
Copied!

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 (which can be found in the Non-SSH zip), 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. Installing the theming ZIP

Now install the Theming ZIP. Just unzip it, upload, and override if required.

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

Because of safety, all the files who are not intended for users, are in the /public folder. This means you have to redirect the users to that folder.
Please choose the type of web server you want to use. If you don't know which type is used, try the Apache2 configuration first. Most shared hostings use Apache2.
Apache2
Nginx With SSL
NGINX Without SSL
There is an .htaccess file in the ZIP. Most of the time this file works fine. It's also included below, in the case it's missing.
.htaccess
1
IfModule mod_rewrite.c>
2
<IfModule mod_negotiation.c>
3
Options -MultiViews
4
</IfModule>
5
6
RewriteEngine On
7
8
RewriteCond %{REQUEST_FILENAME} -d [OR]
9
RewriteCond %{REQUEST_FILENAME} -f
10
RewriteRule ^ ^$1 [N]
11
12
RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
13
RewriteRule ^(.*)$ public/$1
14
15
RewriteCond %{REQUEST_FILENAME} !-d
16
RewriteCond %{REQUEST_FILENAME} !-f
17
RewriteRule ^ server.php
18
</IfModule>
Copied!
Nginx uses config files for setup. Below is an EXAMPLE configuration, which can be used to redirect users to the /public folder, while also supporting HTTPS / SSL.
Make sure to replace %DOMAIN% (everywhere) by your full domain, and %PATH% by the full installation path.
This config assumes you are using PHP 8.0. If you have another PHP version installed, please change the version on line 28.
/etc/nginx/sites-available/themeparkpanel.conf
1
server {
2
listen 80;
3
listen [::]:80;
4
5
server_name %DOMAIN%;
6
return 301 https://$server_name$request_uri;
7
}
8
9
server {
10
listen 443 ssl http2;
11
listen [::]:443 ssl http2;
12
13
ssl_certificate /etc/letsencrypt/live/%DOMAIN%/fullchain.pem;
14
ssl_certificate_key /etc/letsencrypt/live/%DOMAIN%/privkey.pem;
15
16
root /%PATH%/public;
17
18
index index.php index.html index.htm index.nginx-debian.html;
19
20
server_name example.com www.example.com;
21
22
location / {
23
try_files $uri $uri/ /index.php?$query_string;
24
}
25
26
location ~ \.php$ {
27
include snippets/fastcgi-php.conf;
28
fastcgi_pass unix:/run/php/php8.0-fpm.sock;
29
}
30
31
location ~ /\.ht {
32
deny all;
33
}
34
35
location ~ /.well-known {
36
allow all;
37
}
38
}
Copied!
Then you need to enable your configuration, like this:
1
# If you use CentOS, you can ignore this command.
2
sudo ln -s /etc/nginx/sites-available/themeparkpanel.conf /etc/nginx/sites-enabled/themeparkpanel.conf
3
4
# Then restart NGINX
5
systemctl restart nginx
Copied!
Nginx uses config files for setup. Below is an EXAMPLE configuration, which can be used to redirect users to the /public folder.
Make sure to replace %DOMAIN% (everywhere) by your full domain, and %PATH% by the full installation path.
This config assumes you are using PHP 8.0. If you have another PHP version installed, please change the version on line 28.
/etc/nginx/sites-available/themeparkpanel.conf
1
server {
2
listen 80;
3
listen [::]:80;
4
5
root /%PATH%/public;
6
7
server_name %DOMAIN%;
8
index index.php index.html index.htm index.nginx-debian.html;
9
10
server_name example.com www.example.com;
11
12
location / {
13
try_files $uri $uri/ /index.php?$query_string;
14
}
15
16
location ~ \.php$ {
17
include snippets/fastcgi-php.conf;
18
fastcgi_pass unix:/run/php/php8.0-fpm.sock;
19
}
20
21
location ~ /\.ht {
22
deny all;
23
}
24
25
location ~ /.well-known {
26
allow all;
27
}
28
}
Copied!
Then you need to enable your configuration, like this:
1
# If you use CentOS, you can ignore this command.
2
sudo ln -s /etc/nginx/sites-available/themeparkpanel.conf /etc/nginx/sites-enabled/themeparkpanel.conf
3
4
# Then restart NGINX
5
systemctl restart nginx
Copied!

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
1
//ThemeParkPanelPlus
2
Route::get('/control/{attraction_id}/{pin}', '[email protected]');
Copied!

2. Setting up the panel:

Open the .env file. Add this at the bottom of the file:
.env
1
CONTROL_ID=CHANGEME
Copied!
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
1
socket:
2
panel: "https://domain.com/control/%ATTRACTION%/%PIN%"
Copied!
Last modified 1mo ago