Linux Support and Mac Support: Difference between pages

From Flashpoint Datahub
(Difference between pages)
Jump to navigation Jump to search
No edit summary
 
(Added Flash Player settings popup workaround)
 
Line 1: Line 1:
Linux support in Flashpoint is currently experimental due to a lack of maintainers. This page describes the current state of our Linux support. If you need assistance with installing or playing, visit us at #flashpoint-mac-linux-help.
Flashpoint's Mac support is heavily experimental. This page provides information about the current Flashpoint for Mac package.


== Installation instructions ==
Please join our Discord and provide your feedback in the <code>#flashpoint-mac-linux-help</code> channel: http://discord.gg/S9uJ794
Dependencies: git, 7zip, tar, wine(32 bit), wget glibc>=2.29, php, qemu (a qemu package that provide qemu-system-i386 is required)


# Change the working directory to your home directory
== Latest Package ==
cd
# Create the required directories
mkdir --verbose --parents opt/flashpoint/{launcher,data}
# Get the new flashpoint launcher (version 10.1.1)
cd opt/flashpoint/launcher
wget https://github.com/FlashpointProject/launcher/releases/download/10.1.1/Flashpoint-10.1.1_linux-x64.7z
7z x ./Flashpoint-10.1.1_linux-x64.7z
rm -v Flashpoint-10.1.1_linux-x64.7z
# Because PHP and QEMU are not killed correctly upon exit, create this launch script:
cat << EOF > flashpoint
#!/bin/sh
cd $HOME/opt/flashpoint/launcher
$HOME/opt/flashpoint/launcher/flashpoint-launcher
killall php
killall qemu-system-i386
EOF
sudo install -D -m 755 -o root -g root ./launcher /usr/local/bin/launcher
# Get Flashpoint 10.0 Infinity
cd ../data
wget https://bluepload.unstable.life/flashpoint-10-linux-x64.tar.gz
tar --extract --verbose --file=./flashpoint-10-linux-x64.tar.gz
rm --verbose ./flashpoint-10-linux-x64.tar.gz


== Stand-Alone Packages ==
'''Download Beta 2019-12-15:'''


These are standalone packages suitable for all common Linux distributions.  
http://bluepload.unstable.life/flashpointinfinityformacbeta2019-12-15.zip


Unfortunately, no working packages are currently available. See the [[/Outdated Packages/]] page for previous builds, but be aware that they will not work properly. They are only useful as examples of completed builds, in case developers need them when working on future builds.
'''Changelog:'''


== Distro-specific Packages ==
2019-12-15: Added <code>"wmode":"direct"</code> to the default SWFObject parameters. This fixes certain 3D Flash games which previously did not work properly.


These are experimental packages for specific Linux distributions. If you don't see a package for your system here, '''please use the stand-alone package instead!''' If you can help update these packages, please visit the Discord server and join #development-chat.
2019-12-14: First beta available!


Unfortunately, no working packages are currently available. See the [[/Outdated Packages|Outdated Packages]] page for previous builds, but be aware that they will not work properly. They are only useful as examples of completed builds, in case developers need them when working on future builds.
== Installation Instructions ==
# Download and unzip the latest package using the link above.
# Double-click <code>StartFlashpoint.command</code> to open Flashpoint.
#* '''Do not forget this step! You must use <code>StartFlashpoint.command</code>, otherwise Flashpoint will not work properly.'''


== Troubleshooting ==
=== Troubleshooting ===
If Flashpoint does not work after installation, follow the steps below:
# Click the Apple menu and open System Preferences.
# Click "Security & Privacy," then click the "Privacy" tab.
# Click "Full Disk Access".
# Click the lock icon and enter your password to make changes. Then click the + button under the list of apps to add Terminal to the list.
# Click the lock icon again to save your changes. You should see Terminal in the list of allowed apps, as shown below. <br> [[File:FullDiskAccess.png|500px]]


If the Flash Player crashes immediately when launched, there are a few possible solutions:
==== Flash EOL Screen ====
* Replace our hacked Flash projector with the original, unhacked Adobe Flash projector. Follow these steps:
If you see the Flash Player EOL information screen when you try to play a game, that means that SeaMonkey is loading your installed Flash Player plugin instead of the plugin that is bundled with Flashpoint. To fix the problem, [https://helpx.adobe.com/flash-player/kb/uninstall-flash-player-mac-os.html uninstall Flash Player from your Mac] and restart Flashpoint. Games should work again in SeaMonkey.
*# [https://drive.google.com/file/d/1Dt3EGqB6SmfM1hkGszUMnYYlNo7RtlhD/view?usp=sharing Download the projector from here]
*# In your Flashpoint folder, open <code>FPSoftware/Flash</code>
*# Replace the <code>flashplayer_32_sa.exe</code> file with the one you downloaded.
* Remove wine-dxvk from your system. This causes problems with the Flash projector on some computers.


==== Flash Player Settings Popup ====
When you try to play a game, you might get a storage permissions popup like the one below:


In some cases, a problem with Wine may prevent games in Flashpoint from working. Look for the following error in the Logs tab of the launcher:
[[File:FlashSettingsPopup.png|300px]]
wine: 'examplewinedirectory/.wine' is a 64-bit installation, it cannot be used with a 32-bit wineserver.
If you see this error, then navigate to your Wine directory and run the commands below to resolve the problem. Note that this will reset your Wine settings.
rm -r .wine/
winecfg


== Technologies ==
If you are unable to close this window, follow these steps to solve the problem:
# Quit SeaMonkey if it is open (SeaMonkey -> Quit SeaMonkey from the top menu bar)
# Open Flashpoint Infinity's FPSoftware folder, then find and open "SeaMonkey.app".
# Copy and paste this URL into SeaMonkey's address bar: <code>https://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager03.html</code>
# You should see the Flash Player Settings Manager. Drag the bar all the way to the right to allow Flash to store "Unlimited" data. (Don't worry, Flashpoint games won't store more than a few MB of data.)
# Quit SeaMonkey (SeaMonkey -> Quit SeaMonkey from the top menu bar).
# Open Flashpoint again. The problem should be fixed.


Flashpoint Infinity, like its Windows counterpart, it uses <code>router.php</code> as a proxy server. But unlike Windows, Linux provides native ways to set per-application proxy settings, so no equivalent to the [https://github.com/FlashpointProject/FlashpointProxy Flashpoint Proxy library] is used. On Linux, each application is simply told via environment variables to use <code>localhost:22500</code> as a proxy server. For example, before Flashpoint Launcher opens the Flash projector, it sets the <code>http_proxy</code> environment variable to <code>http://localhost:22500/</code>.
=== MacOS Catalina (10.15) and later ===
Because Flashpoint's applications are from an "unidentified developer," if you're using Catalina or later, you'll need to approve each application before it can run. Open your system preferences, click "Security & Privacy", then allow each of the following applications to run: StartFlashpoint.command, Flashpoint Launcher, swfbbox, and SeaMonkey. If you have trouble figuring out how to do this, [https://www.youtube.com/watch?v=WiYmUXVOlgI watch this tutorial video].  


The [http://bluemaxima.org/flashpoint/faq/ Flashpoint FAQ] contains a list of all web game technologies ("Platforms") supported in the Windows version of Flashpoint. The Linux version currently supports a subset of these platforms. This is explained in detail below.
Because Adobe Director Projectors are 32-bit applications, [[SPR for Mac]] will not work on MacOS Catalina or later. This means that Flashpoint for Mac does not support Shockwave games on Catalina or later versions of MacOS.


=== Supported Platforms ===
=== MacOS Big Sur (11.0) and later ===
* Flash: Supported through Wine by default. Although a Linux Flash Projector exists, it suffers from graphical glitches on many systems. If you'd like to try your luck with the native projector, then either turn off use Wine, or tick it as a 'Native Platform' on the Config page.
Flash applications have been successfully tested and are working. To use Flashpoint with Big Sur and later versions, a few modifications are required. Follow the steps below:
* Shockwave: Supported through Wine.
# Download SeaMonkey 2.53.4 for MacOS x64 from [https://www.seamonkey-project.org/releases/2.53.4 here]. After the file finishes downloading, open it and copy the "SeaMonkey.app" file somewhere that you'll remember.
* HTML5: Supported natively through the Basilisk browser. To update Basilisk, download it from [http://us.basilisk-browser.org/release/basilisk-latest.linux64.tar.bz2 here] and extract it such that the executable is located at <code>FPSoftware/Basilisk-Portable/linux/basilisk</code>. By default, Basilisk will store its configuration in the location defined by <code>XDG_CONFIG_DIR</code>, so Flashpoint uses a shell script to set the configuration location. A pre-configured copy of Basilisk, along with the shell script, is packaged and also available [https://drive.google.com/file/d/1Y5Mgm9dCa4gCc6UF5WFPqQruzsO81xhf/view?usp=sharing here]. This [https://cdn.discordapp.com/attachments/516027726851735632/612891261665411073/BasiliskSetup.txt text file] describes Basilisk's configuration.
#* '''Make sure you download the correct version; 2.53.4 is the only SeaMonkey version that will work with Flashpoint!'''
* Java Applets: Supported natively using the OpenJDK. This support is not currently working, however.
# Open Flashpoint Infinity's FPSoftware folder, then find the old "SeaMonkey.app" there.
* Unity Web Player: Supported through Wine. Unity 2.x and 3.x games may not work; this needs further testing.
# Right-click the old SeaMonkey.app and click "Show Package Contents."
* PopCap Plugin: Supported through Wine.
# Open the <code>Contents</code> folder, then within that folder, open the <code>Resources</code> folder.
* Authorware Web Player: Supported through Wine.
# Find the folder called <code>plugins</code> and ''copy'' it.
* GoBit Plugin: Supported through Wine.
# Find the new "SeaMonkey.app" file that you downloaded in Step 1. Right-click it and click "Show Package Contents."
# Open the <code>Contents</code> folder, then within that folder, open the <code>Resources</code> folder.
# ''Paste'' in the <code>plugins</code> folder that you copied earlier.
# Go back outside of the new "SeaMonkey.app" package and ''copy'' it.
# Open Flashpoint Infinity's FPSoftware folder, then ''paste'' the "SeaMonkey.app" file that you just copied. Replace the original file when prompted.


=== Unsupported Platforms ===
=== MacOS Monterey (12.0) ===
* Silverlight: In the past, [http://www.webupd8.org/2013/08/pipelight-use-silverlight-in-your-linux.html Pipelight] allowed Linux users to use Silverlight, but the repository is no longer available for most Linux distros. [https://www.maketecheasier.com/install-and-run-silverlight-in-linux/ Moonlight] was another option, but is also no longer available. Attempts to use Silverlight in K-Meleon using Wine have failed.
MacOS Monterey no longer ships with PHP, so you will need to manually install PHP 7.4. The instructions for doing so are below, but are currently untested. If you try them, please join our Discord server and let us know whether the instructions worked for you.
* 3DVIA Player: A previous tester received this error, which crashed K-Meleon: <code>Error: Access was denied while trying to open files in your profile directory</code>. We need another tester to help us narrow this down.
* 3D Groove GX: When the http_proxy variable is set, Groove Player downloads but fails to load the file. Maybe the registry method described [https://wiki.winehq.org/FAQ#How_do_I_configure_a_proxy.3F here] would work better, but this needs to be tested. Two of our testers received the following set of errors: [https://media.discordapp.net/attachments/496132309498724391/577330595609444352/unknown.png 1] [https://media.discordapp.net/attachments/496132309498724391/577330680678055948/unknown.png 2] [https://media.discordapp.net/attachments/496132309498724391/577330740396556309/unknown.png 3]
* ActiveX: The most promising method so far was to install Internet Explorer 8 and each ActiveX plugin into the Wine prefix, but this needs considerable work.


== Wine ==
First, open the terminal and follow [http://osxdaily.com/2018/03/07/how-install-homebrew-mac-os/ these instructions] to install Homebrew. Keep the terminal open and run these commands in order:
Most games rely on technology only available on Windows. A lot of these however can be run through Wine. If there is no native executable, or you have the Native Platform option unticked for the game's platform then the launcher will run it through Wine.
brew tap shivammathur/php
brew install shivammathur/php/[email protected]
brew link --overwrite --force php@7.4
For more information about installing PHP on MacOS Monterey, see [https://wpbeaches.com/updating-to-php-versions-7-4-and-8-on-macos-12-monterey/ this article].


You may choose to use the native versions, in which case tick the platform under Native Platforms in Config.
=== Apple Silicon Macs ===
To run Flashpoint on Macs with the new M1 chip, you'll need to install Rosetta by following [https://osxdaily.com/2020/12/04/how-install-rosetta-2-apple-silicon-mac/ these instructions]. Once you've done that, follow the instructions in the previous sections to get Flashpoint working.


If you wish to play games that rely on Wine, be sure to install the 32-bit version of Wine. There are links below to distro specific install guides:
=== Installing Java ===
To add support for Java games, you'll need to install the Java Development Kit. Follow the steps below:
# Download JDK version 8u212 from here: https://github.com/frekele/oracle-java/releases/download/8u212-b10/jdk-8u212-macosx-x64.dmg
# Open the DMG file and run the installer. Follow the on-screen instructions to install the JDK.


* Ubuntu - https://wiki.winehq.org/Ubuntu
=== Installing Wine ===
* Debian - https://wiki.debian.org/Wine#Installation_on_Debian_Jessie_and_newer
Running games in Wine is not yet supported, but we hope to add support for this in a future build. If you'd like to contribute to our efforts, you can learn more about installing Wine on MacOS from [https://github.com/Gcenx/wine-on-mac here].
* Arch Linux - https://wiki.archlinux.org/index.php/Wine#Installation


=== Important Note ===
=== Using Flashpoint with Automator (optional) ===
You can start Flashpoint without having to click on <code>StartFlashpoint.command</code> by using Automator using the below steps:
# Choose File > New.
# Select "Application", then click Choose.
# Drag the Run Shell Script action into your workflow.
# Enter <code>open /Users/[YOUR USERNAME HERE]/Downloads/Flashpoint\ Infinity\ for\ Mac\ Beta/StartFlashpoint.command</code> in the command field.


Update: As of Wine 6.0-rc1, Shockwave appears to be working again. If you are on 5.22, keep an eye out for an update from your distribution.
== Technologies ==


<s>As of Wine 5.22, the Shockwave wrappers are no longer launching. Avoid updating Wine until a fix is found.</s>
Currently, only Flashpoint Infinity is available for Mac. However, it should be fairly simple to create a Flashpoint Ultimate package for MacOS as well. Let us know in our Discord if you can help!


== Changelog ==
No equivalent to the Flashpoint Proxy currently exists for MacOS. MacOS also does not provide any native way to set per-application proxy settings. In Flashpoint for Mac, the proxy settings for each supported technology must be set separately. This rules out using the Flash projectors, since they do not have configurable proxy settings. In Flashpoint for Mac, all Flash games run in a browser.


; 2021-07-26
The [http://bluemaxima.org/flashpoint/faq/ Flashpoint FAQ] contains a list of all web game technologies ("Platforms") supported in the Windows version of Flashpoint. The Mac version currently supports a small subset of these platforms. This is explained in detail below. The list of supported platforms includes an unscientific estimate of the percentage of games supported by our method.
: Added 10.0 Infinity package


; 2021-02-16
=== Supported Platforms ===
: Added Core/Ultimate standalone package for 9.0 based on 8.1 Infinity standalone
* Flash: Supported using the SeaMonkey web browser, with a Flash plugin included. Games that use a Flash Player version other than 32 are not yet supported.
** ~95% of games supported.
* Shockwave: Supported with [[SPR for Mac]]. Because LeechProtectionRemovalHelp is only available for Windows, the majority of Shockwave games will not work properly.
** ~30% of games supported.
** Requires a 32-bit compatible OS; Catalina is not supported.
* HTML5: Supported using the SeaMonkey web browser. WebAssembly support is enabled in Flashpoint's SeaMonkey profile, so it should be compatible with nearly all of the same games as Basilisk.
** ~99% of games supported.
* Java Applets: Supported natively using the JDK. Java in the browser is not supported yet.
** ~99% of games supported.


; 2020-11-07
=== Unsupported Platforms ===
: Updated .deb to Flashpoint 8.2-2 Infinity
* Unity Web Player: Has not been attempted yet. We would need to track down the Mac builds of all 12 versions of Unity Web Player that we support on Windows. Needless to say, this would be a huge challenge.
: Added native executables for Flash and HTML5
* PopCap Plugin: As far as we know, there is no version of PopCap Plugin for modern Macs.
: Replaced modified Flash Projectors with the unmodified ones
* Authorware Web Player: Authorware is incompatible with all Intel Macs.
: Fixed extreme games option being disabled in config.json
* GoBit Plugin: As far as we know, there is no version of GoBit Games Plugin for modern Macs.
 
* Silverlight: Silverlight for Mac is available [https://www.microsoft.com/Silverlight/ here], but as explained in [https://apple.stackexchange.com/questions/348822/does-silverlight-for-macos-support-64-bit this StackExchange answer], Microsoft Silverlight for Mac is 32-bit only, even though the Windows version has 64-bit and 32-bit versions. This is a problem because no major browser for MacOS has a 32-bit version, and MacOS Catalina drops support for 32-bit programs entirely. As such, Silverlight is unusable on Mac.
; 2020-10-23
* 3DVIA Player: As far as we know, there is no version of 3DVIA Player for modern Macs.
: Updated .deb to Flashpoint 8.2-1 Infinity
* 3D Groove GX: 3D Groove is incompatible with all Intel Macs.
 
* ActiveX: ActiveX is a Windows-only technology.
; 2020-07-04
* ShiVa3D: The Windows version of the ShiVa3D Player is available in the free [https://shiva-engine.com/get/ ShiVa Web Edition]; this is where we obtained it. However, no Mac version of the ShiVa Web Edition is currently available, so we haven't been able to find a Mac version of the ShiVa3D Player. It's possible that we could extract a Mac version of the player from a Mac version of a ShiVa3D game. Or maybe we could obtain the Mac runtime from the Windows version of ShiVa3D Web Edition, since it has the capability of publishing for Mac.
: Updated to Flashpoint 8.1 Infinity
: Updated to Flashpoint Launcher 9.0.2


; 2019-09-28
== Launcher Issues ==
: Updated to Flashpoint 6.3
A number of Flashpoint Launcher issues affect the experience of using Flashpoint Launcher on MacOS. Unfortunately, none of our Launcher developers currently have access to a Mac, so updates for the Mac version of Flashpoint Launcher will not be available in the foreseeable future. We will be unable to release a Mac version of Flashpoint 7.0 until a new version of the Launcher is built for MacOS. If you have access to MacOS and are able to build Flashpoint Launcher, please let us know!
: Bundled WIP Launcher with better Multi-Platform Support:
:* Proper linux argument escaping (Supersonic RC works now, yay!)
:* SPR games automatically use port 22500 (Hacky, may be removed later)
:* Wine will always (and only) be used for running .exe files (even if use Wine is turned off in Config)
:* .bat files will always run their .sh equivalents (even if use Wine is turned on in Config)
:* Windows execs are mapped to native execs (if existing), so Windows game XMLs should work out the box. (See execs.json)
:* Can mark a platform as 'native' in Config, will force native execs to be used instead of Windows execs even if use Wine is turned on.
:** If no native execs are available (like Shockwave) then it will fallback to running the Windows exec with Wine.
: Added native Basilisk support files
: Updated SPR files
: Updated router.php


; 2019-09-18
The current issues with the Mac version of Flashpoint Launcher are listed below.
: Added new SPR version (see update-spr.sh) and Shockwave XMLs
* Errors are shown in the log when services are missing from the <code>services.json</code>. These services are unnecessary for Flashpoint on Mac, so the errors can be ignored.
: Added interim Launcher hack to make Shockwave games that use SPR work properly
* Flashpoint Launcher cannot find its own Version file, even if it is present in the Launcher's folder and app package.
: Made the save manager scripts use a valid interpreter (/bin/sh)
* The Theme dropdown menu on the Config tab does not work properly. To select a theme, you must manually type the path to the theme's CSS file.
:* TODO: they still need further work/testing
* A popup appears if the user attempts to start a Windows executable from Flashpoint. This popup tells the user to install Wine, and points them to the [[Linux Support]] page, even though the Launcher is running on Mac.
* If a shell script is specified in <code>execs.json</code> as an alternative to a batch script, the Launcher will attempt to launch the shell script defined for Linux, even if a different shell script is defined for Darwin (MacOS).
* Flashpoint Launcher attempts to load the hidden resource forks of certain files as separate files. These files are not visible in the MacOS Finder, and have filenames beginning with <code>._</code>.
** If any Platform XML has a resource fork, all of the Platform XMLs will fail to load, causing a "No games found" error.
** If any localization JSON file has a resource fork, a "NotValidJSON" error will appear in the logs.
* When Wine is started from Flashpoint Launcher, it uses >70% CPU for several minutes without ever starting the intended executable. This is despite Wine working fine when started from the terminal. This issue needs to be investigated and solved before Flashpoint can support launching games through Wine.
* By default, Flashpoint Launcher will attempt to read and modify <code>config.json</code> and <code>preferences.json</code> inside its own app package. Since Mac applications are not allowed to modify their own app packages, this will fail. For this reason, Flashpoint Launcher must be opened with a shell script command <code>StartFlashpoint.command</code>. This script sets the current directory to the Flashpoint Launcher folder so that the Launcher accesses the <code>config.json</code> and <code>preferences.json</code> in the correct location. However, this unusual way of opening the Launcher may be the cause of the previously mentioned Wine bug.


; 2019-07-21 and prior
== Other Notes ==
: Configure Flash games to run using the Windows player, flashplayer_32_sa.exe
* Some keyboard controls such as the spacebar or WASD keys may not work in some games. This is a known problem with the NPAPI Flash plugin on MacOS. We plan to resolve this problem in the next build of Flashpoint for Mac by using the PPAPI plugin instead.
:* The Linux flash player suffers from too many graphical glitches
* Flash games with URLs pointing to filenames with special characters will not work. This is because <code>nosamuEmbedSWF.sh</code> does not properly handle special characters when it converts URLs to paths, so it cannot copy the game's HTML to the correct location in <code>htdocs</code>.
:* Requires Wine to be installed and enabled to play
* Some Shockwave games may not close when you quit them from the menu. If this occurs, click inside the Message Window next to the game. Then type <code>quit</code> and press Enter to close the game.
: Updated JDK to version 8u212
* Flashpoint for Mac uses exec mappings to determine what native executable to run based on the specified Windows application path. For example, <code>flashplayer_32_sa.exe</code> is mapped to <code>nosamuEmbedSWF.sh</code> for MacOS. To add more exec mappings, navigate to Flashpoint's <code>Data</code> folder and open <code>execs.json</code> in a text editor. The exec mappings use "darwin" to refer to MacOS.
:* startJava.sh instructions and script updated
* Flashpoint for Mac uses <code>swfbbox</code> to determine the width and height of an SWF file. <code>swfbbox</code> is part of the <code>swftools</code> homebrew package. To install <code>swftools</code>, first [http://osxdaily.com/2018/03/07/how-install-homebrew-mac-os/ install homebrew]. Then type <code>brew install swftools</code> in the terminal.
:* Made startJava.sh executable
* Flashpoint for Mac requires that PHP and cURL are installed and enabled on your system. These components should already be set up, unless you are on [[#MacOS Monterey (12.0)|MacOS Monterey]].
: Added support for Authorware Platform
: Adds Linux versions of the Save Manager scripts
: Adds a "Flashpoint" shortcut (replacing the Windows version)
: Adds Flashpoint 6.2 games
: Removed the game logos, as in Flashpoint Infinity 6.2 for Windows
: Removed the Wineprefix because it was not used


'''To-Do List'''
== Packaging Flashpoint for Mac ==
* Allow the launcher to automatically start/stop the flashpoint server on Linux
Here are some steps to keep in mind when packaging Flashpoint for Mac. This assumes that you are using the current package as a base and modifying it.
* Rewrite and test startUnity.sh and startJava.sh scripts
* You can follow [[Extended FAQ#GameDeleted|these instructions]] to update Flashpoint's XMLs to the latest version.
* Find a way to get Basilisk working better in Wine, or use an alternative browser like K-Meleon
* You can follow [[Extended FAQ#UpdateRouter|these instructions]] to update Flashpoint Router to the latest version.
* Get Java working natively again with OpenJDK 8
* Use <code>update-spr.sh</code> in the <code>FPSoftware</code> folder to update SPR to the latest version. To get the latest version of SPR for Mac, see [[SPR for Mac]].
* Test Unity 2.x and 3.x games
* If you would like to distribute a modified SeaMonkey profile, be sure to clear the cache, cookies, and other data. In SeaMonkey, click <code>Tools -> Clear Private Data</code>.
* AMF support for games like Neon Rider for the community levels
* If you would like to add a plugin to SeaMonkey, first install the plugin normally. Then, follow these steps:
*# Navigate to <code>/Library/Internet Plug-Ins</code> in Finder and copy the files for the plugin you want to add.
*# Navigate to Flashpoint's <code>FPSoftware</code> folder. Right-click <code>SeaMonkey.app</code> and choose "Show Package Contents."
*# Inside the app package, navigate to <code>/Contents/Resources/plugins</code>. Paste the plugin files that you copied in Step 1.
* Before running or distributing Flashpoint, you should run the <code>dot_clean</code> command inside the Flashpoint folder to remove resource forks. Flashpoint Launcher may not work properly if Flashpoint files have resource forks, as explained in [[#Launcher Issues|Launcher Issues]].


<noinclude>[[Category:Technologies]]</noinclude>
<noinclude>[[Category:Technologies]]</noinclude>

Revision as of 12:30, 28 November 2021

Flashpoint's Mac support is heavily experimental. This page provides information about the current Flashpoint for Mac package.

Please join our Discord and provide your feedback in the #flashpoint-mac-linux-help channel: http://discord.gg/S9uJ794

Latest Package

Download Beta 2019-12-15:

http://bluepload.unstable.life/flashpointinfinityformacbeta2019-12-15.zip

Changelog:

2019-12-15: Added "wmode":"direct" to the default SWFObject parameters. This fixes certain 3D Flash games which previously did not work properly.

2019-12-14: First beta available!

Installation Instructions

  1. Download and unzip the latest package using the link above.
  2. Double-click StartFlashpoint.command to open Flashpoint.
    • Do not forget this step! You must use StartFlashpoint.command, otherwise Flashpoint will not work properly.

Troubleshooting

If Flashpoint does not work after installation, follow the steps below:

  1. Click the Apple menu and open System Preferences.
  2. Click "Security & Privacy," then click the "Privacy" tab.
  3. Click "Full Disk Access".
  4. Click the lock icon and enter your password to make changes. Then click the + button under the list of apps to add Terminal to the list.
  5. Click the lock icon again to save your changes. You should see Terminal in the list of allowed apps, as shown below.
    FullDiskAccess.png

Flash EOL Screen

If you see the Flash Player EOL information screen when you try to play a game, that means that SeaMonkey is loading your installed Flash Player plugin instead of the plugin that is bundled with Flashpoint. To fix the problem, uninstall Flash Player from your Mac and restart Flashpoint. Games should work again in SeaMonkey.

Flash Player Settings Popup

When you try to play a game, you might get a storage permissions popup like the one below:

FlashSettingsPopup.png

If you are unable to close this window, follow these steps to solve the problem:

  1. Quit SeaMonkey if it is open (SeaMonkey -> Quit SeaMonkey from the top menu bar)
  2. Open Flashpoint Infinity's FPSoftware folder, then find and open "SeaMonkey.app".
  3. Copy and paste this URL into SeaMonkey's address bar: https://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager03.html
  4. You should see the Flash Player Settings Manager. Drag the bar all the way to the right to allow Flash to store "Unlimited" data. (Don't worry, Flashpoint games won't store more than a few MB of data.)
  5. Quit SeaMonkey (SeaMonkey -> Quit SeaMonkey from the top menu bar).
  6. Open Flashpoint again. The problem should be fixed.

MacOS Catalina (10.15) and later

Because Flashpoint's applications are from an "unidentified developer," if you're using Catalina or later, you'll need to approve each application before it can run. Open your system preferences, click "Security & Privacy", then allow each of the following applications to run: StartFlashpoint.command, Flashpoint Launcher, swfbbox, and SeaMonkey. If you have trouble figuring out how to do this, watch this tutorial video.

Because Adobe Director Projectors are 32-bit applications, SPR for Mac will not work on MacOS Catalina or later. This means that Flashpoint for Mac does not support Shockwave games on Catalina or later versions of MacOS.

MacOS Big Sur (11.0) and later

Flash applications have been successfully tested and are working. To use Flashpoint with Big Sur and later versions, a few modifications are required. Follow the steps below:

  1. Download SeaMonkey 2.53.4 for MacOS x64 from here. After the file finishes downloading, open it and copy the "SeaMonkey.app" file somewhere that you'll remember.
    • Make sure you download the correct version; 2.53.4 is the only SeaMonkey version that will work with Flashpoint!
  2. Open Flashpoint Infinity's FPSoftware folder, then find the old "SeaMonkey.app" there.
  3. Right-click the old SeaMonkey.app and click "Show Package Contents."
  4. Open the Contents folder, then within that folder, open the Resources folder.
  5. Find the folder called plugins and copy it.
  6. Find the new "SeaMonkey.app" file that you downloaded in Step 1. Right-click it and click "Show Package Contents."
  7. Open the Contents folder, then within that folder, open the Resources folder.
  8. Paste in the plugins folder that you copied earlier.
  9. Go back outside of the new "SeaMonkey.app" package and copy it.
  10. Open Flashpoint Infinity's FPSoftware folder, then paste the "SeaMonkey.app" file that you just copied. Replace the original file when prompted.

MacOS Monterey (12.0)

MacOS Monterey no longer ships with PHP, so you will need to manually install PHP 7.4. The instructions for doing so are below, but are currently untested. If you try them, please join our Discord server and let us know whether the instructions worked for you.

First, open the terminal and follow these instructions to install Homebrew. Keep the terminal open and run these commands in order:

brew tap shivammathur/php
brew install shivammathur/php/[email protected]
brew link --overwrite --force [email protected]

For more information about installing PHP on MacOS Monterey, see this article.

Apple Silicon Macs

To run Flashpoint on Macs with the new M1 chip, you'll need to install Rosetta by following these instructions. Once you've done that, follow the instructions in the previous sections to get Flashpoint working.

Installing Java

To add support for Java games, you'll need to install the Java Development Kit. Follow the steps below:

  1. Download JDK version 8u212 from here: https://github.com/frekele/oracle-java/releases/download/8u212-b10/jdk-8u212-macosx-x64.dmg
  2. Open the DMG file and run the installer. Follow the on-screen instructions to install the JDK.

Installing Wine

Running games in Wine is not yet supported, but we hope to add support for this in a future build. If you'd like to contribute to our efforts, you can learn more about installing Wine on MacOS from here.

Using Flashpoint with Automator (optional)

You can start Flashpoint without having to click on StartFlashpoint.command by using Automator using the below steps:

  1. Choose File > New.
  2. Select "Application", then click Choose.
  3. Drag the Run Shell Script action into your workflow.
  4. Enter open /Users/[YOUR USERNAME HERE]/Downloads/Flashpoint\ Infinity\ for\ Mac\ Beta/StartFlashpoint.command in the command field.

Technologies

Currently, only Flashpoint Infinity is available for Mac. However, it should be fairly simple to create a Flashpoint Ultimate package for MacOS as well. Let us know in our Discord if you can help!

No equivalent to the Flashpoint Proxy currently exists for MacOS. MacOS also does not provide any native way to set per-application proxy settings. In Flashpoint for Mac, the proxy settings for each supported technology must be set separately. This rules out using the Flash projectors, since they do not have configurable proxy settings. In Flashpoint for Mac, all Flash games run in a browser.

The Flashpoint FAQ contains a list of all web game technologies ("Platforms") supported in the Windows version of Flashpoint. The Mac version currently supports a small subset of these platforms. This is explained in detail below. The list of supported platforms includes an unscientific estimate of the percentage of games supported by our method.

Supported Platforms

  • Flash: Supported using the SeaMonkey web browser, with a Flash plugin included. Games that use a Flash Player version other than 32 are not yet supported.
    • ~95% of games supported.
  • Shockwave: Supported with SPR for Mac. Because LeechProtectionRemovalHelp is only available for Windows, the majority of Shockwave games will not work properly.
    • ~30% of games supported.
    • Requires a 32-bit compatible OS; Catalina is not supported.
  • HTML5: Supported using the SeaMonkey web browser. WebAssembly support is enabled in Flashpoint's SeaMonkey profile, so it should be compatible with nearly all of the same games as Basilisk.
    • ~99% of games supported.
  • Java Applets: Supported natively using the JDK. Java in the browser is not supported yet.
    • ~99% of games supported.

Unsupported Platforms

  • Unity Web Player: Has not been attempted yet. We would need to track down the Mac builds of all 12 versions of Unity Web Player that we support on Windows. Needless to say, this would be a huge challenge.
  • PopCap Plugin: As far as we know, there is no version of PopCap Plugin for modern Macs.
  • Authorware Web Player: Authorware is incompatible with all Intel Macs.
  • GoBit Plugin: As far as we know, there is no version of GoBit Games Plugin for modern Macs.
  • Silverlight: Silverlight for Mac is available here, but as explained in this StackExchange answer, Microsoft Silverlight for Mac is 32-bit only, even though the Windows version has 64-bit and 32-bit versions. This is a problem because no major browser for MacOS has a 32-bit version, and MacOS Catalina drops support for 32-bit programs entirely. As such, Silverlight is unusable on Mac.
  • 3DVIA Player: As far as we know, there is no version of 3DVIA Player for modern Macs.
  • 3D Groove GX: 3D Groove is incompatible with all Intel Macs.
  • ActiveX: ActiveX is a Windows-only technology.
  • ShiVa3D: The Windows version of the ShiVa3D Player is available in the free ShiVa Web Edition; this is where we obtained it. However, no Mac version of the ShiVa Web Edition is currently available, so we haven't been able to find a Mac version of the ShiVa3D Player. It's possible that we could extract a Mac version of the player from a Mac version of a ShiVa3D game. Or maybe we could obtain the Mac runtime from the Windows version of ShiVa3D Web Edition, since it has the capability of publishing for Mac.

Launcher Issues

A number of Flashpoint Launcher issues affect the experience of using Flashpoint Launcher on MacOS. Unfortunately, none of our Launcher developers currently have access to a Mac, so updates for the Mac version of Flashpoint Launcher will not be available in the foreseeable future. We will be unable to release a Mac version of Flashpoint 7.0 until a new version of the Launcher is built for MacOS. If you have access to MacOS and are able to build Flashpoint Launcher, please let us know!

The current issues with the Mac version of Flashpoint Launcher are listed below.

  • Errors are shown in the log when services are missing from the services.json. These services are unnecessary for Flashpoint on Mac, so the errors can be ignored.
  • Flashpoint Launcher cannot find its own Version file, even if it is present in the Launcher's folder and app package.
  • The Theme dropdown menu on the Config tab does not work properly. To select a theme, you must manually type the path to the theme's CSS file.
  • A popup appears if the user attempts to start a Windows executable from Flashpoint. This popup tells the user to install Wine, and points them to the Linux Support page, even though the Launcher is running on Mac.
  • If a shell script is specified in execs.json as an alternative to a batch script, the Launcher will attempt to launch the shell script defined for Linux, even if a different shell script is defined for Darwin (MacOS).
  • Flashpoint Launcher attempts to load the hidden resource forks of certain files as separate files. These files are not visible in the MacOS Finder, and have filenames beginning with ._.
    • If any Platform XML has a resource fork, all of the Platform XMLs will fail to load, causing a "No games found" error.
    • If any localization JSON file has a resource fork, a "NotValidJSON" error will appear in the logs.
  • When Wine is started from Flashpoint Launcher, it uses >70% CPU for several minutes without ever starting the intended executable. This is despite Wine working fine when started from the terminal. This issue needs to be investigated and solved before Flashpoint can support launching games through Wine.
  • By default, Flashpoint Launcher will attempt to read and modify config.json and preferences.json inside its own app package. Since Mac applications are not allowed to modify their own app packages, this will fail. For this reason, Flashpoint Launcher must be opened with a shell script command StartFlashpoint.command. This script sets the current directory to the Flashpoint Launcher folder so that the Launcher accesses the config.json and preferences.json in the correct location. However, this unusual way of opening the Launcher may be the cause of the previously mentioned Wine bug.

Other Notes

  • Some keyboard controls such as the spacebar or WASD keys may not work in some games. This is a known problem with the NPAPI Flash plugin on MacOS. We plan to resolve this problem in the next build of Flashpoint for Mac by using the PPAPI plugin instead.
  • Flash games with URLs pointing to filenames with special characters will not work. This is because nosamuEmbedSWF.sh does not properly handle special characters when it converts URLs to paths, so it cannot copy the game's HTML to the correct location in htdocs.
  • Some Shockwave games may not close when you quit them from the menu. If this occurs, click inside the Message Window next to the game. Then type quit and press Enter to close the game.
  • Flashpoint for Mac uses exec mappings to determine what native executable to run based on the specified Windows application path. For example, flashplayer_32_sa.exe is mapped to nosamuEmbedSWF.sh for MacOS. To add more exec mappings, navigate to Flashpoint's Data folder and open execs.json in a text editor. The exec mappings use "darwin" to refer to MacOS.
  • Flashpoint for Mac uses swfbbox to determine the width and height of an SWF file. swfbbox is part of the swftools homebrew package. To install swftools, first install homebrew. Then type brew install swftools in the terminal.
  • Flashpoint for Mac requires that PHP and cURL are installed and enabled on your system. These components should already be set up, unless you are on MacOS Monterey.

Packaging Flashpoint for Mac

Here are some steps to keep in mind when packaging Flashpoint for Mac. This assumes that you are using the current package as a base and modifying it.

  • You can follow these instructions to update Flashpoint's XMLs to the latest version.
  • You can follow these instructions to update Flashpoint Router to the latest version.
  • Use update-spr.sh in the FPSoftware folder to update SPR to the latest version. To get the latest version of SPR for Mac, see SPR for Mac.
  • If you would like to distribute a modified SeaMonkey profile, be sure to clear the cache, cookies, and other data. In SeaMonkey, click Tools -> Clear Private Data.
  • If you would like to add a plugin to SeaMonkey, first install the plugin normally. Then, follow these steps:
    1. Navigate to /Library/Internet Plug-Ins in Finder and copy the files for the plugin you want to add.
    2. Navigate to Flashpoint's FPSoftware folder. Right-click SeaMonkey.app and choose "Show Package Contents."
    3. Inside the app package, navigate to /Contents/Resources/plugins. Paste the plugin files that you copied in Step 1.
  • Before running or distributing Flashpoint, you should run the dot_clean command inside the Flashpoint folder to remove resource forks. Flashpoint Launcher may not work properly if Flashpoint files have resource forks, as explained in Launcher Issues.