AMP icon indicating copy to clipboard operation
AMP copied to clipboard

Generic Module Allow PATH Executables

Open IceOfWraith opened this issue 2 years ago • 3 comments

Feature Request

Feature Information:

There's a need to be able to call executables that are located in system PATH variables in Windows, and Linux would benefit too. Programs like Java and Python are near impossible to standardize for Windows due to the install path being catered to each user. The current Geyser config calls "java" as the Windows executable but fails since AMP tries to ensure that application is located in that directory.

Perhaps a setting to disable executable verification would solve the situation. And in lieu of that, make a one time forced "update check" to ensure the user installs the application before clicking Start.

I confirm:

  • [x] that I have searched for an existing feature request matching the description.

IceOfWraith avatar Jul 16 '22 15:07 IceOfWraith

In next CI, you can now do $PATH/filename as the executable and it'll search PATH for it.

PhonicUK avatar Jul 26 '22 16:07 PhonicUK

Tried this with Java on Windows for Geyser. Does not work. I have all of the Adoptium java versions in the system Path (18, 17, 11 and 8), with 18 first. When the server is started it just does a download loop, with the logs showing that it is looking for $PATH/java literally in the base dir: Specified executable 'C:\AMPDatastore\Instances\Geyser01\geyser\$PATH\java does not exist. Updating application....

I am assuming this is in 2.3.4.4 Mainline given it is in the release notes.

Greelan avatar Jul 27 '22 02:07 Greelan

Please re-open

Greelan avatar Jul 29 '22 10:07 Greelan

It's $PATH/ verbatim - forward slash regardless of platform. I've changed it to tolerate both directions though. Fixed in 2.4

PhonicUK avatar Aug 29 '22 13:08 PhonicUK

It's $PATH/ verbatim - forward slash regardless of platform. I've changed it to tolerate both directions though. Fixed in 2.4

Greelan had that in their post. The backslash was what AMP tried to execute from the base directory.

IceOfWraith avatar Aug 29 '22 14:08 IceOfWraith

There were a couple of other bits, but this is fixed.

PhonicUK avatar Aug 29 '22 17:08 PhonicUK

Still does not work on 2.4. This is so tedious.

Greelan avatar Sep 10 '22 08:09 Greelan

Can you show me what value you're feeding it and what it's trying to do? I've tested this and it was happy to find bash for example by doing $PATH/bash

PhonicUK avatar Sep 12 '22 13:09 PhonicUK

As I've explained before, it is the refreshed Geyser template in the PR

App.ExecutableWin=$PATH/java.exe
...
App.CommandLineArgs=-Xms{{MinMemory}}M -Xmx{{MaxMemory}}M {{CustomJavaArgs}} -jar Geyser.jar {{$PlatformArgs}} --bedrock.port={{$ServerPort}} {{$FormattedArgs}}

It still literally includes the word $PATH in the executable path

Greelan avatar Sep 12 '22 20:09 Greelan

Perhaps Mike is testing on Linux whereas you're looking for Windows? Just calling out what is possibly a major discrepancy in the convo here.

IceOfWraith avatar Sep 12 '22 20:09 IceOfWraith

Well in his previous comments (on the Geyser PR) he noted the need to use the .exe extension... And in a comment above he refers to "regardless of platform"

Greelan avatar Sep 12 '22 20:09 Greelan

Oh yes, I just mean when you're both referring to testing. He said "bash" whereas you're looking for Windows testing to be done on his side.

IceOfWraith avatar Sep 12 '22 20:09 IceOfWraith

Aye $PATH/bash on Linux and $PATH/bash.exe on Windows both behave as intended right now, at least in the current CI which is what I have to hand.

PhonicUK avatar Sep 15 '22 10:09 PhonicUK

Can you spot what's different in your environment?

[10:59:43] [Program Info]         : Starting AMP version 2.4.0.6 (Halimede), built 15/09/2022 11:37
[10:59:43] [Program Info]         : Stream: Bleeding (Ci_Build) - built by CUBECODERS/buildbot on CCL-DEV
[10:59:43] [Program Info]         : Running in a HyperV environment.
[10:59:43] [Program Info]         : OS: Windows / x86_64
[10:59:43] [Program Info]         : CPU: AMD Ryzen 9 5900X 12-Core Processor (12C/24T)
[10:59:43] [Program Info]         : AMP Instance ID: 141ce2fc-264f-4733-a268-e648c091f8f0
[10:59:43] [Core Info]            : Loaded GenericModule version 1.0.0.0 by CubeCoders Limited
[10:59:43] [Core Info]            : Metrics publishing is enabled at udp://192.168.0.11:12820.
[10:59:43] [ModuleLoader Info]    : Loaded FileManagerPlugin version 1.0.0.0 by CubeCoders Limited
[10:59:43] [ModuleLoader Info]    : Loaded EmailSenderPlugin version 1.0.0.0 by CubeCoders Limited
[10:59:43] [ModuleLoader Info]    : Loaded WebRequestPlugin version 1.0.0.0 by CubeCoders Limited
[10:59:43] [ModuleLoader Info]    : Loaded LocalFileBackupPlugin version 1.0.0.0 by CubeCoders Limited
[10:59:43] [ModuleLoader Info]    : Loaded CommonCorePlugin version 1.0.0.0 by CubeCoders Limited
[10:59:43] [Core Info]            : GenericModule requests dependency steamcmdplugin...
[10:59:43] [ModuleLoader Info]    : Loaded steamcmdplugin version 1.0.0.0 by CubeCoders Limited
[10:59:43] [Core Info]            : GenericModule requests dependency RCONPlugin...
[10:59:43] [ModuleLoader Info]    : Loaded RCONPlugin version 1.0.0.1 by CubeCoders Limited
[10:59:43] [Core Error]           : Invalid setting node: GenericModule.App.Ports.$ServerPort
[10:59:43] [Core Info]            : Licence Present: AMP Patreon Supporter Edition (Licenced to STOLEN COPY)
[10:59:44] [ModuleLoader Notice]  : Using keypair with fingerprint T9NN5FDSAvT1unlXqw/+n7vbraOg3AqHgWwr4iOn/YA=
[10:59:44] [ModuleLoader Info]    : SFTP Server started on 0.0.0.0:40612
[10:59:44] [WebServer Info]       : Websockets are enabled.
[10:59:44] [Core Info]            : Webserver started on http://0.0.0.0:8083
[10:59:44] [WebServer Warning]    : RouterTimer@10Hz with 2 jobs started
[10:59:44] [System Info]          : Checking for AMP updates...
[10:59:44] [System Info]          : AMP is up-to-date.
[10:59:48] [System:Anonymous Activity] : Authentication attempt for user IceOfWraith from 127.0.0.1
[10:59:50] [System:Anonymous Activity] : Authentication success
[10:59:52] [System:IceOfWraith Activity] : Starting the application.
[10:59:52] [Generic:IceOfWraith Error] : FileNotFoundException
[10:59:52] [Generic:IceOfWraith Error] : [0] (FileNotFoundException) : AMP could not find the requested executable: 'C:\AMPDatastore\Instances\Geyser01\geyser\$PATH\java.exe'
[10:59:52] [Generic:IceOfWraith Error] :    at ModuleShared.AMPProcess.Start()
   at GenericModule.GenericApp.DoAppStartup(Boolean IsUpdating)
   at GenericModule.GenericApp.Start()

image

IceOfWraith avatar Sep 15 '22 11:09 IceOfWraith