OK with time I have a solution. I am using MacOS Catalina 10.15.7 I am also using Forge Server 19.1
chmod 755 /path to file/run.sh
cd /path to file/
file being run.sh
edit the file user_jvm_args.txt to set the memory usage for the server
e.g I add the lines
-Xms3G
-Xmx4G
./run.sh
This will run the server in gui mode
Not ideal as you would need to cd to the server path every time you run it.
So like the servers from 16 down I modified the start.command file as below (make sure it is executable, chmod 755)
#!/bin/bash
cd "$(dirname "$0")"
exec ./run.sh
Then you can alias start.command and have it on the desktop.