Vassal under Apple Catalina

Hello Malnorma! TY for your answer. Interesting.

My Vassal is actually located in the Applications but what do you mean by “running” it?
But I also have a shortcut on the office and start it with it! Do you mean I should only start Vassal from the Application?

Are you sure that it’s only a shortcut and not a copy of the app in another location? I tried a shortcut and that worked ok, but when I copied Vassal.app to the desktop and ran it, it cleared my recent modules again. A shortcut will show a black arrow in the bottom left corner.

By running it, I just mean launching it - e.g. to understand if you were starting it by clicking the icon in the DMG, in your dock, via spotlight or another launcher, that kind of thing.

Hey Malnorma!

To be said: I used exactly this Vassal and shortcut for years before I went recently on Catalina and my problems started with Catalina so I think the Vassal itself is OK.

Here is the place were is located my Vassal shortcut. There is the little arrow so it’s a shortcut. I tried your point but it seems that the problem comes from TIME! The modules disappear when it takes time between I stop my computer and restart it !?!

Completely strange? Why Vassal don’t keep the module in?

GG

I did not believe it, but you are right - after a reboot, my module list is empty again. I am not sure what would cause Vassal to overwrite the recent modules like this, but I will take a closer look soon.

I think this is part of Catalina’s general paranoia about unsigned/un-notarised/downloaded applications, possibly worse for being Java-based. On first run, Vassal attempts to open the modules in the recent list to verify they exist, and this action seems to be quietly (i.e. no user prompt) blocked by the system. Once you’ve added a module through the file dialog, everything is fine until the next reboot.

In any case, I found a few ways around it. The easiest one is just to remove the quarantine attribute from the application with this command (paste this into Terminal.app):

xattr -d -r com.apple.quarantine /Applications/VASSAL.app

If this fails due to permissions, run it as

sudo xattr -d -r com.apple.quarantine /Applications/VASSAL.app

and provide your password when prompted. You are effectively convincing the OS that the app was not downloaded from the internet, and can be allowed to access files in your home directory. You will need to do this for any new build you download and copy into /Applications.

WOW … TY but sorry I never did things like that! Is that the heart of the computer?
My computer is first at all my working tool and I want to take no risk at all with it.

:unamused:

You can run this command: man xattr to view documentation for the xattr command (or read the same information here: ss64.com/osx/xattr.html )

When you download a file with your browser, it writes additional attributes to the file to mark it as coming from an untrusted source. Running xattr with just a filename will print any attributes out:

$ xattr ~/Downloads/VASSAL-3.3.0-svn9280-macosx.dmg com.apple.diskimages.recentcksum com.apple.macl com.apple.metadata:kMDItemWhereFroms com.apple.quarantine

The quarantine attribute at the end is the only attribute that persists when Vassal.app is copied from the disk image. Deleting the attribute makes the system behave as if the file was obtained “safely”, so it does not prevent it from running or accessing your personal files. You can search for “com.apple.quarantine” to find a bit more information on it.

It’s good to be cautious, as you would be bypassing some of the safeguards meant to protect users from malicious apps (bypassing for Vassal only, not for the whole system!) Hopefully this info can help you make a decision you are comfortable with.

TYVM but I’m completely lost! Where am I suppose to read or find or write those lines?
Really sorry but I know nothing about the creation of computer programs.
Regards - GG

Oh, sorry - start by running Terminal.app. You can do this with spotlight:

  1. Press cmd+space on the keyboard
  2. type ‘terminal’ into the search box - by the time you type ‘m’ you will likely see Terminal.app as the first result or somewhere near the top.
  3. double click the app, or press enter to launch it if it’s already the top result.

You should get a window on the screen, probably white with a small amount of black text on it. This is where you can enter the xattr command.

The easiest way to run an application blocked by OS X is still to go to System Preferences… Security and you should see a message saying that VASSAL was blocked. Click the Run Anyway or whatever the button is called (not at a Mac at the moment) and OS X will do all the work for you.

Thus spake zgrose via messages:

The easiest way to run an application blocked by OS X is still to go to
System Preferences… Security and you should see a message saying that
VASSAL was blocked. Click the Run Anyway or whatever the button is
called (not at a Mac at the moment) and OS X will do all the work for
you.

What do we need to do so that this isn’t necessary?


J.

This is no different to simply using the right-click > open command. It allows the app to run, but does not remove the quarantine attribute, and will still run afoul of this issue on Catalina.

The app needs to be signed and notarised using an Apple developer account. I don’t remember if this requires the $99 fee.

Arg: Can’t find the “Terminal.app” in spotlight?

That’s odd! It should be under /Applications/Utilities if you want to find it manually.

Is that here?

Yes, that’s it.

So I must hit “sudo xattr -d -r com.apple.quarantine /Applications/VASSAL.app” on the white screen after “GG$”?

(it sound like chinese for me loool)

You’ve got it. It does look a bit complicated, but all you’re doing is running a program with some extra information about what you want it to do:

xattr - a program to manage extended attributes
-d - delete an attribute
-r - do the delete on all files and folders within the target folder
com.apple.quarantine - the name of the attribute to delete
/Applications/VASSAL.app - the target folder for the command

If this was meant to be a long-term solution, I’d suggest adding it to the main Vassal script, but I’m hoping a better solution will be found.

With so many thanks Malnorma.

I hope you will excuse me but I finally decided not to enter those lines on this computer of mine that is also my main working tool as a photographer. I will play a little less on Vassal (because of the repetitive manipulations) and wait for a fixing of Vassal for the (poor) people owning a Mac.

With best regards - GG

By the way I’m Guillaume Gleize - City of Tours - France
Command & Colors Napoleonic player on Vassal & Live

You do not need to use the Terminal.

When you double-click VASSAL (or any other un-signed app that you trust), you will see:
[attachment=2]Screen Shot 2019-10-23 at 8.38.08 AM.png[/attachment]

Just click Cancel. Then goto the Apple menu… System Preferences… Security & Privacy. You will see:
[attachment=1]Screen Shot 2019-10-23 at 8.38.16 AM.png[/attachment]

Click Open Anyway if you trust it and you will see:
[attachment=0]Screen Shot 2019-10-23 at 8.38.23 AM.png[/attachment]

Click Open and you’re good-to-go.

Again, this is a process you will have to use when opening apps from smaller development houses.