Table of contents
How to install an add-on? How to upgrade the app to a new version? How to add a redirect from http to https? How to add custom fields to the user sign-up form? How to enable Facebook login? How to enable Twitter login? How to integrate Pusher? How to change fonts? How to enable chat? How to add bots? Why bots do not play games? What is faucet? What is chat rain? How to add Google Analytics? How to change the OG image? How to change the favicon? How to change translations? How to add a new language? How to add custom CSS rules? How to change the logo size in the header? How to hide the site title in the header? How to change PWA app name and icon? How to disable reCAPTCHA? How to disable the maintenance mode if I logged out from the admin account? How to add a custom card deck? How to enable queues? Why application settings are not saved? Why application logo and user avatar are not displayed? I get "Session store not set on request" error What is stream_socket_enable_crypto error about? How to fix "Process class relies on proc_open, which is not available on your PHP installation"? How to troubleshoot the cron job? How to get support?
How to install an add-on?

The add-on will be automatically downloaded and installed. Refresh the page in your browser, so the new add-on is loaded and initialized by the application.

How to upgrade the app to a new version?
How to add a redirect from http to https?

If you like to add an auto redirect from http:// to https:// uncomment the below 2 lines in .htaccess file (located in the web root folder):

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Please note that if the web root is set to ../public folder, you need to edit ../public/.htaccess file instead.

How to add custom fields to the user sign-up form?

Do the following

Sometimes you might want to add fields that should be unique to all users, for instance, a phone number or some wallet ID. To enforce the unique constraint you need to add the following validation rule (suppose, that the field identifier is phone):

unique:users,fields->phone

In this case, the new user will not be able to register if the phone number they entered is already recorded.

I get "Session store not set on request" error

This error can happen when you use both www (www.mywebsite.com) and non-www (mywebsite.com) domain names at the same time. It's recommended to use only one of these variations. If, however, you still like to use both, open .env file (located in the web root folder of your domain) with a text editor and edit SANCTUM_STATEFUL_DOMAINS variable to contain both domain names as follows:

SANCTUM_STATEFUL_DOMAINS=mywebsite.com,www.mywebsite.com
How to enable Facebook login?

Screenshot of a sample Facebook app settings page:

How to enable Twitter login?
How to integrate Pusher?

Pusher is a service, which allows to add realtime messaging capabilities to the application. Without it such features as chat and game feed as well as all multiplayer games will not function. To enable Pusher:

How to change default fonts?

The app uses 2 different fonts for headings and plain text. You can customize both by including a custom font stylesheet. The easiest way is to use Google Fonts. There you need to select a suitable font, copy the font name (e.g. "Rubik Distressed") and the font stylesheet URL (e.g. https://fonts.googleapis.com/css2?family=Rubik+Distressed&display=swap) and paste them in Backend » Settings » Theme (there are 2 input boxes for the heading and body font respectively).

How to enable chat?
How to add bots?
Why bots do not play games?

Make sure that the cron job specified on Backend » Maintenance page is added to your server. Please check the installation guide for more info how to set up a cron job.

What is faucet?

Faucet allows users to claim free credits on a regular basis (e.g. every 24 hours). Users can claim free credits by clicking on the balance in the top right corner and selecting Faucet. If you like to turn this feature off go to Backend » Settings » Bonuses » Faucet and set Allow to claim value to zero.

What is chat rain?

Chat rain is a type of bonus that is awarded to the most active users in the chat (those who posted more text). You can configure the chat rain settings by going to Backend » Settings » Bonuses » Chat rain. To turn this feature off delete Chat rain payouts.

How to add Google Analytics?
How to change the OG image?

The OG image is used when sharing website content on social media. To override the default OG image create an image file named og-image-udf.jpg and put it to public/images/logo folder. This way you will be able to keep your custom OG image during future updates.

How to change the favicon?

The website favicon files are located in public/images/favicon folder. You can just overwrite the original files with your custom ones.

How to change translations?

You can change translation strings for any language by editing JSON translation files in resources/lang folder. To override the default text strings in English edit resources/lang/en.json file and modify only values of the translation object (the right part).

For example, this is how you can modify the default meta description tag:

"Fair online casino games": "Custom casino description"

Please note that you need to clear your browser cache after making changes to ensure that the updated file is loaded.

How to add a new language?
How to add custom CSS rules?

If you like to apply some custom CSS styles create a file named style-udf.css inside public/css folder and put your styles there (you might need to create the css folder as well if it doesn't exist). This will help you to preserve your custom styles after upgrading the app to a new version.

How to change the logo size in the header?

Create a file named style-udf.css inside public/css folder and paste the following CSS rules there:

header .v-toolbar__title .v-avatar {
  width: 60px !important;
  height: 60px !important;
}

footer .router-link-active .v-avatar {
  width: 60px !important;
  height: 60px !important;
}

Use the following CSS rule to increase the logo size on login and registration pages:

.view-login .router-link-active .v-avatar,
.view-register .router-link-active .v-avatar,
.view-2fa .router-link-active .v-avatar,
.view-password-reset .router-link-active .v-avatar,
.view-password-email .router-link-active .v-avatar {
  width: 60px !important;
  height: 60px !important;
}
How to hide the site title in the header?

Create a file named style-udf.css inside public/css folder and paste the following CSS rule there:

header .v-toolbar__title .d-sm-block {
  display: none !important;
}
How to change PWA app name and icon?

manifest.json file contains the app name and references to logo images, which are used when someone adds the app to the home screen of an iOS / Android device. In order to modify the default values (if you like to run the casino under your own name) you need to override the default manifest file by creating a file named manifest-udf.json inside public folder. Create it as a copy of the default manifest.json and then edit as needed. Clear browser cache after that to ensure the new file is loaded.

How to disable reCAPTCHA?

If you do not have access to backend you can disable reCAPTCHA by editing .env configuration file (located in the web root folder) and removing the following variables:

RECAPTCHA_PUBLIC_KEY
RECAPTCHA_SECRET_KEY
How to disable the maintenance mode if I logged out from the admin account?

To disable the maintenance mode when you don't have access to the backend delete the following file: storage/framework/down.

How to add a custom card deck?

Create a new subfolder in public/images/games/playing-cards folder, e.g. custom. Upload playing card images in PNG format to this folder. Each file name should consist of 2 letters. The first letter is the suite code (d - diamonds ♦, c - clubs ♣, h - hearts ♥, s - spades ♠), the second letter is the card value (t - 10, j - Jack, q - Queen, k - King, a - Ace). For instance st.png is Ten of Spades, ha.png is Ace of Hearts. Additionally there should be a file named back.png, which contains the back side of a playing card. You can check the default deck images to understand the naming conventions better.

After the new deck images are uploaded open Backend » Settings » Games and select the custom deck that you added, click Save.

How to enable queues?

Queues are a mechanism for executing certain tasks at a given time in the background. You only need to enable them if a particular game add-on requires queues support. Such a requirement is present on the Add-ons page.

For the queues to work, a separate background process (called queue worker) must be running on your server in the background. To be able to run such processes, the application must be deployed on a virtual private (VPS) or dedicated server with shell access. You will not be able to run background processes on a shared server. The queue worker can be started as follows:

{{ App\Helpers\Utils::getPathToPhp() }} {{ base_path() }}/artisan queue:work --queue=provider-games,multiplayer-games,default

Please note that the queue worker process may stop running for a variety of reasons, such as an exceeded worker timeout, server fault etc. For this reason, you need to configure a process monitor that can detect when your worker processes exit and automatically restart them. Supervisor is a process monitor for the Linux operating system, and will automatically restart your queue:work processes if they fail. To install Supervisor use the following command:

apt-get install supervisor (on Ubuntu)
yum install supervisor (on CentOS)

Then use nano (or other text editor) to create a custom configuration file, that will instruct supervisor how your processes should be monitored:

nano /etc/supervisor/conf.d/stake-worker.conf (on Ubuntu)
nano /etc/supervisord.d/stake-worker.ini (on CentOS)

Paste the following content into this file:

[program:stake-worker]
process_name=%(program_name)s_%(process_num)02d
command={{ App\Helpers\Utils::getPathToPhp() }} {{ base_path() }}/artisan queue:work --queue=provider-games,multiplayer-games,default
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=www-data
numprocs=1
redirect_stderr=true
stdout_logfile=/var/log/stake-worker.log
stopwaitsecs=3600

The user parameter must be set to the user under which the web server is running (usually www-data). If cPanel is installed on your server, the user parameter should be set to the cPanel username. In all cases, avoid setting the user to root.

After saving the configuration file, you can start (or restart) the supervisor service using the following command:

service supervisor restart (on Ubuntu)
service supervisord restart (on CentOS)

To ensure that the supervisor has picked up your config file and is working correctly, use the following command:

service supervisor status (on Ubuntu)
service supervisord status (on CentOS)

It is also possible to check the supervisor service status on the Maintenance page.

You should see an output similar to the one below (without any error messages):

[root@server www]# service supervisord status
 supervisord.service - Process Monitoring and Control Daemon
Loaded: loaded (/usr/lib/systemd/system/supervisord.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2000-11-26 08:48:42 CET;
Process: 1119947 ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf (code=exited, status=0/SUCCESS)
Main PID: 1119950 (supervisord)
Tasks: 2 (limit: 101102)
Memory: 68.6M
CGroup: /system.slice/supervisord.service
       ├─1119950 /usr/bin/python3.6 /usr/bin/supervisord -c /etc/supervisord.conf
       └─1119951 /usr/bin/php /var/www/stake/artisan queue:work --queue=provider-games,multiplayer-games,default

For more information on Supervisor, consult the Supervisor documentation.

Queues can work using different drivers. At the moment Database and Redis drivers are supported. The Database driver is selected by default and it does not need anything else to work. To use the Redis driver you need to additionally install and configure Redis on your server (installation of Redis is out of scope of the documentation and support). It is recommended to use the Redis driver, especially if you expect a lot of traffic.

Why application settings are not saved?

Check that putenv and getenv PHP functions are not disabled (not added to disable_functions list in php.ini).

Apart from that please make sure not to cache the application config file with php artisan config:cache command. If you did so please run php artisan config:clear command.

Why application logo and user avatar are not displayed?

It's likely that necessary symlinks do not exist.

Go to Backend » Maintenance page and under Tasks select Call artisan command, input storage:link into Name field and click Execute. Refresh the page.

What is stream_socket_enable_crypto error about?

The following or similar exception is raised when sending an email:

What it means is that your SMTP connection is being intercepted and redirected elsewhere, so the name no longer matches. This is TLS doing its job properly, preventing man in the middle attacks, and stopping your credentials being given away to an unknown third party. It usually happens when your hosting provider blocks any external 3rd party SMTP services (e.g. Gmail) and forces to use their own. So please check with your hosting support what SMTP credentials you should use to send emails.

How to fix "Process class relies on proc_open, which is not available on your PHP installation"?

The following error is printed in the log file when running the cron job:

There are 2 possible solutions:

  1. Remove proc_open from disable_functions parameter in php.ini
  2. Add the following parameter to the cron job command: -d disable_functions=
How to troubleshoot the cron job?

Even if the cron job is correctly added to your server sometimes it may not work for various reasons. To troubleshoot the issue please follow these steps:

If the app log file does not contain any error messages please set your email to receive reports about the cron job execution. In cPanel you can set the notification email on the same page where you added the cron job. If the cron job fails to run the notification email will contain a specific error message.

How to get support?

Please note that support can only be provided during the application support period. 6 months of free support are provided with your purchase. Should you need support outside of this period you will need to renew it. How to extend / renew the app support?

To get technical support please submit a new ticket at https://support.financialplugins.com. If you see an application error please do the following: