Troubleshooting - syd711/vpin-studio GitHub Wiki

Overview

Why does the Studio use so much CPU?

The reason for this is the media preview. Depending on the assets configured for a table, it will start several video playbacks in parallel which causes the high CPU load. To avoid this, use the "preview" checkbox in the header of this section and only use the preview when applicable.

As an alternative, you can also use preview icon which appears on hover for the selected Popper screen.

Note that through issues with the Java Media Framework which I'm using for playing videos, the CPU usage remains high even after disabling the preview. The only workaround right now is to restart the Studio.

I got encoding problems on my highscore cards!

Users have reported whitespace problems for their generated highscore cards. You can fix this by settings a comma as number separator in your windows settings. See also: https://forums.gameex.com/forums/topic/26335-scores-files-text-from-pinemhi-contains-strange-characters-as-thousands-separator/

Similar to this

It seems to a common problem that the number separator for the French locale is a whitespace, not "not a real one", because it is some unicode character. I'm trying to handle this as good as possible and have added some fixes here, but the most secure fix for the Studio Server is this one:

Edit the file VPin-Studio-Server.l4j.ini that is located in the installation directory of the VPin-Studio Server and set another locale there manually. The example there is set to en/US, but you can also switch to en/GB or de/DE. Right now this value is relevant for the default date formats and number format (comma vs. dot).

Important If you ran into this issue, you have to delete all highscores that have been recorded for nvram based tables. In the table overview, sort the tables by the highscore type, select all nvram based tables and press the Delete button from the toolbar or context menu.

In the Delete Dialog select the Highscores and confirm the deletion. This will not delete the actual scores from the table, but the previously recorded entries and will make sure, that new highscores are detected properly.

Additionally, make sure that the Popper screen you are using from Popper does refresh. The highscore cards are re-generated ~6 seconds after table exit and Popper will not refresh the score screen after that! You have to re-select the table after this time for this.

How to change the background image for the maintenance mode?

The image is located in the resources folder of the VPin Studio Server: "resources/maintenance.jpg" You can exchange the image with another one as long as the name is the same. You can choose a higher or lower resolution too, the image will be scaled accordingly.

I have multiple VPX emulators, but Studio uses the wrong one!

Some users run mulitple VPX emulators, e.g. for VR. You can tell the VPin Studio Server to use another VPX emulator by adding the keyword "default" to the description.

Updating the VPin Studio does not work!

If the update process does not work for some reason, go to https://github.com/syd711/vpin-studio/releases and download the VPin-Studio.zip and VPin-Studio-Server.zip files from the lastest release. Extract both zip filese inside the installation folder of the VPin Studio and overwrite the existing files. After that, you can just double-click the VPin-Studio-Server.exe to start the server.

An update only consists of these two .exe files!. So whenever you need to update the client or the server, you only need to replace the .exe file.

How can I backup my VPin Studio installation?

VPin Studio uses an sqlite database for storing all data and settings (the same database PinUP Popper is using). So all data is stored in the file ./resources/vpin-studio.db. You only have to keep this file as a backup of your system and can replace it, if you restored or recreated your VPin system. It will match with the PinUP Popper backup if that has been restored the same way.

Additionally, you can create backups from the database in the Server Settings. The back up file will be written into the folder resources/backups of the server, where also the highscore backups are located. You should consider to backup these too.

https://github.com/syd711/vpin-studio/blob/main/documentation/preferences/backup.png

The Server is causing high CPU usage by Windows Defender

If you notice a high CPU usage on the cabinet start, I may be caused the vpin-studio-server.exe scanned by the Windows Defender. This may also block updates!!! You can exclude the file or installation folder by following these instructions:

https://support.microsoft.com/en-us/windows/add-an-exclusion-to-windows-security-811816c0-4dfd-af4a-47e4-c301afe13b26#:~:text=Go%20to%20Start%20%3E%20Settings%20%3E%20Update,%2C%20file%20types%2C%20or%20process.

Why are my tables/emulators not detected?

Unlike described in the PinUP Popper UI, you have to configure all fields for VPX emulators so that they are picked up by the Studio Server. This includes:

  • Games Folder
  • Media Folder
  • Roms Folder

After changing/settings these, make sure that you restart the server (you can terminate the Server using the system tray).

Why do my transparent highscore cards have a black background?

When showing the highscore cards via Popper, make sure that you have enabled the transparency in Popper. Open the "PinUP Popper Setup". Switch to tab "Popper Setup" and select "Screens/Theme". The screen settings for the menu are shown by default. You can toggle the transparency checkboxes there:

How can I select a screenshot in VPX?

Open a table and select the table details.

In the screenshots combo-box, search for an asset that seems to be the playfield.

I can't remote connect to my cabinet!

In the installation file, check the file vpin-studio-server.log. Search for a message like:

10-09 19:04:41.803 INFO [main]d.m.v.s.i.InputEventService - Server Address: DESKTOP-PV49J1G/192.168.178.129

Check if the IP matches.

Also, disable the firewall on you cabinet in case this one blocks the incoming requests. The server runs on port 8089, this one must be open.

An additional issue some user experienced is that a Window update may have switched some firewall settings. Go into the Windows firewall settings and allow the port on the private network. It might be set to the public network only.

My controller and keyboard inputs are not detected!

The server uses its own library to detect keyboard and controller events. For this, an additional .dll file is automatically copied into into the runtime environment of the server. Because of permission problems, this action may failed. Download the file https://github.com/syd711/vpin-studio/blob/main/resources/jvm/jinput-dx8_64.dll and copy it into the win32/java/bin folder of the VPin Studio server. Restart the server and the inputs should work afterwards.

Why is the Pause Menu not shown?

First, make sure that the pause menu is bound to a key mapping. Go to the preferences and configure the key bindings in the controller preferences. You need to do this on the cabinet, not remote.

Once the keybinding is set, the pause menu should show up when the corresponding button is pressed during a game.

Do not bind the pause menu to key 'P': VPX is using 'P' for pause too, so this would result in a double 'P' key event and therefore the game won't be paused / the pause menu won't show.

The pause menu won't work in combination with VPX's EnableTrueFullScreen. So you have have this line you your emulator start script: SET FSMODE=EnableTrueFullScreen you need to replace with with SET FSMODE=DisableTrueFullScreen to make the pause menu work.

Note that for the GL version of VPX the menu comes up with a delay. This is caused by VPX GL which eagerly tries to keep the window focus.

In order for the pause menu to work, the game start and end events must be send to the VPin Studio Server. This is achieved via a customization of the game launch and exit scripts of the frontend. The server should adapt these scripts automatically. If this has not happened, make sure to add the line

curl -X POST --data-urlencode "table=[GAMEFULLNAME]" --data-urlencode "emu=[DIREMU]" http://localhost:8089/service/gameLaunch

at the end of the emulators launch script and

curl -X POST --data-urlencode "table=[GAMEFULLNAME]" --data-urlencode "emu=[DIREMU]" http://localhost:8089/service/gameExit

at the end of the game exit script.

The Visual Pinball Backup Manager(VPBM) does not find a .net installation

Download and install this version of the .net framework:

https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-desktop-6.0.16-windows-x64-installer?cid=getdotnetcore

ROM based highscores are not resolved!

In case no highscore is resolved for a ROM based table (where the highscore resolving is known to work), your pinemhi configuration may got broken. The result is, that only a blue hint box is shown in the highscore section and the event log of the table shows some error message from pinemhi.

Check that you have a valid pinemhi.ini file located in the installation folder of the server in <VPIN_STUDIO_INSTALLATION>/resources/pinemhi/. If the file does not exist or is broken, download a clean copy here: https://github.com/syd711/vpin-studio/blob/main/resources/pinemhi/pinemhi.ini

The server needs to be restarted after the file has been replaced or updated!.