I have a MacBook Air M1 (2020). The game is Nine Sols. When I launched the script in the terminal I got a bunch of messages related to needing an ARM library, but it only has x64.
This is not hard to fix. You need to put a libdoorstop_arm64.dylib file inside doorstop_libs (I had to compile it though). Also, you have to modify this case statement in run_bepinex.sh to accomodate for the ARM64 case:
case $executable_type in
PE32)
echo "The executable is a Windows executable file. You must use Wine/Proton and BepInEx for Windows with this executable."
echo "Uninstall BepInEx for nix and install BepInEx for Windows instead."
echo "More info: https://docs.bepinex.dev/articles/advanced/steam_interop.html#protonwine"
exit 1
;;
64-bit)
# Detect if we're on macOS ARM64
if [[ "$os_type" == "Darwin" ]] && [[ "$(uname -m)" == "arm64" ]]; then
arch="arm64"
else
arch="x64"
fi
;;
32-bit|i386)
arch="x86"
;;
*)
echo "Cannot identify executable type (got ${executable_type})!"
echo "Please create an issue at https://github.com/BepInEx/BepInEx/issues."
exit 1
;;
esac
Also, at least in the Nine Sols release page you mislead MacOS users when you say:
"Steam Deck/Linux/MacOS Additional Instructions
You do not need to do this if you are using Windows!
Open up the game properties in Steam and add WINEDLLOVERRIDES="winhttp=n,b" %command% to the launch options."
This is bad for Mac, as trying to launch the game afterwards fails and the user gets an "OS error". WINEDLLOVERRIDES is a variable to be used for Proton, a Linux only software (and the MacOS package you distribute doesn't even have a winhttp.dll file anyway).
Rather, I went with "/Users/[NAME OF USER]/Library/Application Support/Steam/steamapps/common/Nine Sols/run_bepinex.sh" %command% as command line option, which works, since your script takes the game as argument.
Long story short, your mod works in Apple Silicon, but it requires, in the very least, adding libdoorstop_arm64.dylib to the package and modifying the launcher script code, otherwise no one who bought a Mac post-2020 is going to get your mod to work. Also remove the misleading environment variable for the command line from the instructions, the game won't launch with it.
I have a MacBook Air M1 (2020). The game is Nine Sols. When I launched the script in the terminal I got a bunch of messages related to needing an ARM library, but it only has x64.
This is not hard to fix. You need to put a libdoorstop_arm64.dylib file inside doorstop_libs (I had to compile it though). Also, you have to modify this case statement in run_bepinex.sh to accomodate for the ARM64 case:
case $executable_type in
PE32)
echo "The executable is a Windows executable file. You must use Wine/Proton and BepInEx for Windows with this executable."
echo "Uninstall BepInEx for nix and install BepInEx for Windows instead."
echo "More info: https://docs.bepinex.dev/articles/advanced/steam_interop.html#protonwine"
exit 1
;;
64-bit)
# Detect if we're on macOS ARM64
if [[ "$os_type" == "Darwin" ]] && [[ "$(uname -m)" == "arm64" ]]; then
arch="arm64"
else
arch="x64"
fi
;;
32-bit|i386)
arch="x86"
;;
*)
echo "Cannot identify executable type (got ${executable_type})!"
echo "Please create an issue at https://github.com/BepInEx/BepInEx/issues."
exit 1
;;
esac
Also, at least in the Nine Sols release page you mislead MacOS users when you say:
"Steam Deck/Linux/MacOS Additional Instructions
You do not need to do this if you are using Windows!
This is bad for Mac, as trying to launch the game afterwards fails and the user gets an "OS error". WINEDLLOVERRIDES is a variable to be used for Proton, a Linux only software (and the MacOS package you distribute doesn't even have a winhttp.dll file anyway).
Rather, I went with "/Users/[NAME OF USER]/Library/Application Support/Steam/steamapps/common/Nine Sols/run_bepinex.sh" %command% as command line option, which works, since your script takes the game as argument.
Long story short, your mod works in Apple Silicon, but it requires, in the very least, adding libdoorstop_arm64.dylib to the package and modifying the launcher script code, otherwise no one who bought a Mac post-2020 is going to get your mod to work. Also remove the misleading environment variable for the command line from the instructions, the game won't launch with it.