AMP
AMP copied to clipboard
Generic Module Allow PATH Executables
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.
In next CI, you can now do $PATH/filename
as the executable and it'll search PATH for it.
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.
Please re-open
It's $PATH/ verbatim - forward slash regardless of platform. I've changed it to tolerate both directions though. Fixed in 2.4
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.
There were a couple of other bits, but this is fixed.
Still does not work on 2.4. This is so tedious.
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
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
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.
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"
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.
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.
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()