Mac Support: Difference between revisions

From Flashpoint Datahub
Jump to navigation Jump to search
m (Remove confusing sentence)
(Getting reports that the current PHP installation instructions aren't working. Let's use the official brew command instead (again))
Line 48: Line 48:
MacOS Monterey no longer ships with PHP, so you will need to manually install PHP 7.4. The instructions for doing so are below.
MacOS Monterey no longer ships with PHP, so you will need to manually install PHP 7.4. The instructions for doing so are below.


First, open the terminal and follow the instructions in [https://www.youtube.com/watch?v=SOjSNB7F2m4 this tutorial video] to install [https://brew.sh/ Homebrew]. Keep the terminal open and run these commands in order:
First, open the terminal and follow the instructions in [https://www.youtube.com/watch?v=SOjSNB7F2m4 this tutorial video] to install [https://brew.sh/ Homebrew]. Keep the terminal open and run the following command to install PHP:  
brew tap shivammathur/php
  brew install php
  brew install shivammathur/php/[email protected]
brew link --overwrite --force [email protected]
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].


=== Apple Silicon Macs ===
=== Apple Silicon Macs ===

Revision as of 09:44, 9 August 2022

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

Installing Flashpoint

  1. Open Finder, then click the Applications tab.
  2. Scroll down and double-click the Utilities folder to open it. Then open the Terminal app.
    TerminalInUtilitiesFolder.png
  3. Copy the following command, then paste it into the Terminal and press Return:
    mkdir -p Flashpoint && cd Flashpoint && curl -O -k --progress-bar https://bluepload.unstable.life/flashpointinfinityformacbeta2022-06-22.zip && open ./
  4. Wait for the download to complete. The terminal will indicate the download progress as shown below:
    TerminalDowloadingFlashpoint.png
  5. When the download completes, your new Flashpoint folder will open. Double-click the downloaded ZIP file to expand it.
  6. When the file finishes expanding, you will see a new folder called "Flashpoint Infinity for Mac Beta". Click the folder once to select it, then click File => Add to Sidebar as shown below.
    AddToSidebar.png

Flashpoint is now installed!

Starting Flashpoint

To open Flashpoint, follow the instructions below:

  1. Open Finder, then click the Flashpoint folder on the "Favorites" sidebar.
  2. Double-click StartFlashpoint.command to open Flashpoint.
    • Do not forget this step! You must use StartFlashpoint.command, otherwise Flashpoint will not work properly.
  3. Once Flashpoint is open, double-click a game on the list to launch it.

Troubleshooting

If Flashpoint does not work after installation, please read the sections below for instructions on how to resolve the issue.

Flash EOL Screen

If you see the Flash Player EOL information screen (shown below) 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.

FlashTimebomb.png

PHP Error on 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.

First, open the terminal and follow the instructions in this tutorial video to install Homebrew. Keep the terminal open and run the following command to install PHP:

brew install php

Apple Silicon Macs

To run Flashpoint on Macs with the new M1 chip, you'll need to install Rosetta by following these instructions.

Optional Enhancements

The sections below explain how to add additional features to Flashpoint.

Using Flashpoint with Automator

You can start Flashpoint without having to click on StartFlashpoint.command by using an Automator workflow. Follow the below steps to set it up:

  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]/Flashpoint/Flashpoint\ Infinity\ for\ Mac\ Beta/StartFlashpoint.command in the command field.

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.

Changelog

2022-06-22: Updated SeaMonkey to work in MacOS Big Sur and later.

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!

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.

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.

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; MacOS Catalina and later are 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 it is difficult for them to diagnose and fix launcher issues.

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.
  • When you launch games, you may see a red bar stating that "Your copy of SeaMonkey is old and probably has known security flaws." It asks you to update SeaMonkey - don't do that! Flash Player does not work anymore in the latest version of SeaMonkey. And since Flashpoint does not access the open internet, you do not need to worry about security issues.
  • Because Adobe Director Projectors are 32-bit applications, Shockwave games will not work on MacOS Catalina or later.
  • 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.

Running Windows on your Mac

For a better experience, you may want to use the latest version of Flashpoint for Windows instead of the current Mac beta. There are two main options for doing so:

If you have enough disk space, Boot Camp is the most reliable option.

If you'd like to use Flashpoint in Parallels, here are the steps to set it up:

  1. Download Flashpoint if you haven't yet.
  2. Within your Windows environment in Parallels, run the Flashpoint installer. When it opens, type C:\Flashpoint into the "Extract to" box.
    ExtractFlashpoint.png
  3. Click the "Extract" button. After Flashpoint is done extracting, open the Windows File Explorer.
  4. Click "This PC" on the left sidebar. Double-click the C: drive, then find and double-click the "Flashpoint" folder within it.
  5. Double-click the "Start Flashpoint" shortcut to start playing!