AMP ‘Triton’ 2.3.2.10 - Minecraft Forge Unusable

OS Name/Version: Debian 10

Product Name/Version: AMP ‘Triton’ 2.3.2.10

Problem Description:
Since update AMP ‘Triton’ 2.3.2.10, Forge server can’t start, and/or be installed:

  1. It tries to run the forge installer with graphics and give this error (ofc it will not work it’s a server with console only, was working fine before update), and the currently installed server will not work anymore (was working fine before this update):
22:58:28
JVM info: Oracle Corporation - 17.0.2 - 17.0.2+8-LTS-86
java.net.preferIPv4Stack=true
Found java version 17.0.2

22:58:29

Exception in thread "main"
java.awt.HeadlessException:
No X11 DISPLAY variable was set,
but this program performed an operation which requires it.
at java.desktop/java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:166)
at java.desktop/java.awt.Window.<init>(Window.java:553)
at java.desktop/java.awt.Frame.<init>(Frame.java:428)
at java.desktop/java.awt.Frame.<init>(Frame.java:393)
at java.desktop/javax.swing.SwingUtilities$SharedOwnerFrame.<init>(SwingUtilities.java:1919)
at java.desktop/javax.swing.SwingUtilities.getSharedOwnerFrame(SwingUtilities.java:1995)
at java.desktop/javax.swing.JOptionPane.getRootFrame(JOptionPane.java:1695)
at java.desktop/javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:874)
at java.desktop/javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:676)
at java.desktop/javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:647)
at net.minecraftforge.installer.SimpleInstaller.launchGui(SimpleInstaller.java:177)
at net.minecraftforge.installer.SimpleInstaller.main(SimpleInstaller.java:147)
  1. Under Configuration - Server Settings, if you chose “Forge” in “Server Type”:
    a) Forge Version option is not showing any version in the list, so you can’t select any
    b) Trying to install/update give the following error:
Download / Update failed : Couldn't determine the URL to fetch an update from. You may need to install this server type manually.

All other “Server Type” are working except Forge since this update.

Steps to reproduce:

  • Run an already configured Forge install
  • Create a new Minecraft Java instance
  • Try to install Forge

Actions taken to resolve so far:
Rebooting server
Try installing new instance with forge

Must be an issue with your setup because Forge installs fine for me on my Ubuntu install:

ModLauncher running: args [--launchTarget, forgeserver, --fml.forgeVersion, 40.0.51, --fml.mcVersion, 1.18.2, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20220404.173914]
ModLauncher 9.1.3+9.1.3+main.9b69c82a starting: java version 17.0.3 by Eclipse Adoptium
SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/home/amp/.ampdata/instances/Forge/Minecraft/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar%2314!/ Service=ModLauncher Env=SERVER

You seem to using Oracle Java? Better to remove that and use the Adoptium build.

Turn on debug logging for the instance to see if it reveals anything else.

I do note that for a new instance it takes about a minute for the server version data to be downloaded to allow the selected version to be installed.

I have several java installed anyway and that’s not the issue.
Again, it was working fine before the update of AMP.

As for the selected version, it is also not working anymore on the already installed version (that was working fine before the update.

I just completely uninstalled AMP, rebooted and made a new clean install, still the same issue with no forge info showing.
I found this in the logs:

[02:32:04] [Core Info]            : AMP is up-to-date.
[02:32:04] [Minecraft Warning]    : Failed to get latest forge version data from http://files.minecraftforge.net/maven/net/minecraftforge/forge/maven-metadata.xml
[02:32:04] [Core Error]           : HttpRequestException
[02:32:04] [Core Error]           : [0] (HttpRequestException) : The SSL connection could not be established, see inner exception.
[02:32:04] [Core Error]           :   at MinecraftModule.UpdateManager.GetForgeUpdateData () 
[02:32:04] [Core Error]           : AuthenticationException
[02:32:04] [Core Error]           : [1] (AuthenticationException) : Authentication failed, see inner exception.
[02:32:04] [Core Error]           : MonoBtlsException
[02:32:04] [Core Error]           : [2] (MonoBtlsException) : Ssl error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED
  at /usr/src/mono/external/boringssl/ssl/handshake_client.c:1132
[02:32:04] [Core Error]           :   at Framework.Btls.FrameworkBtlsContext.ProcessHandshake () 
  at Framework.Net.Security.MobileAuthenticatedStream.ProcessHandshake (Framework.Net.Security.AsyncOperationStatus status, Boolean renegotiate) 
  at (wrapper remoting-invoke-with-check) Framework.Net.Security.MobileAuthenticatedStream.ProcessHandshake(Framework.Net.Security.AsyncOperationStatus,bool)
  at Framework.Net.Security.AsyncHandshakeRequest.Run (Framework.Net.Security.AsyncOperationStatus status) 
[02:32:05] [Minecraft Warning]    : Unable to get Purpur version data from https://api.pl3x.net/v2/purpur
[02:32:05] [Core Error]           : HttpRequestException
[02:32:05] [Core Error]           : [0] (HttpRequestException) : The SSL connection could not be established, see inner exception.
[02:32:05] [Core Error]           :   at MinecraftModule.UpdateManager.GetPurpurVersions () 
[02:32:05] [Core Error]           : AuthenticationException
[02:32:05] [Core Error]           : [1] (AuthenticationException) : Authentication failed, see inner exception.
[02:32:05] [Core Error]           : MonoBtlsException
[02:32:05] [Core Error]           : [2] (MonoBtlsException) : Ssl error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED
  at /usr/src/mono/external/boringssl/ssl/handshake_client.c:1132
[02:32:05] [Core Error]           :   at Framework.Btls.FrameworkBtlsContext.ProcessHandshake () 
  at Framework.Net.Security.MobileAuthenticatedStream.ProcessHandshake (Framework.Net.Security.AsyncOperationStatus status, Boolean renegotiate) 
  at (wrapper remoting-invoke-with-check) Framework.Net.Security.MobileAuthenticatedStream.ProcessHandshake(Framework.Net.Security.AsyncOperationStatus,bool)
  at Framework.Net.Security.AsyncHandshakeRequest.Run (Framework.Net.Security.AsyncOperationStatus status) 
[02:32:11] [RemoteAMPAuth:Anonymous Activity] : Authentication attempt for user GSecurity from 127.0.0.1
[02:32:11] [RemoteAMPAuth:Anonymous Activity] : Authentication success
[02:32:20] [Minecraft Warning]    : Unable to get Bedrock version data from https://minecraft.net/en-us/download/server/bedrock
[02:32:20] [Core Error]           : TaskCanceledException
[02:32:20] [Core Error]           : [0] (TaskCanceledException) : The operation was canceled.
[02:32:20] [Core Error]           :   at MinecraftModule.UpdateManager.GetBedrockVersion () 
[02:32:20] [Core Error]           : ObjectDisposedException
[02:32:20] [Core Error]           : [1] (ObjectDisposedException) : Cannot access a disposed object.
Object name: 'MobileAuthenticatedStream'.
[02:32:20] [Core Error]           :   at Net.Http.HttpConnection.FillAsync () 
  at Net.Http.HttpConnection.ReadNextResponseHeaderLineAsync (Boolean foldedHeadersAllowed) 
[02:32:20] [Minecraft Info]       : Using fallback bedrock version data...
[02:32:20] [Minecraft Info]       : Latest Bedrock version: 1.18.30.04
[02:32:20] [Minecraft Info]       : Updating Modpack cache for 90 modpacks...
[02:32:21] [API:GSecurity Activity] : Changing setting MinecraftModule.MinecraftSettings.ServerType to 50
[02:32:22] [Minecraft Info]       : Update complete.

No idea why the tls/ssl is not working on this one, when the instance is working fine over ssl + custom domain and all other server type can be reached and populated…

Found this in the logs too, when switching the server type and then forge and clicking update/install:

[02:33:08] [RemoteAMPAuth:Anonymous Activity] : Authentication attempt for user GSecurity from 127.0.0.1
[02:33:09] [RemoteAMPAuth:Anonymous Activity] : Authentication success
[02:33:27] [API:GSecurity Activity] : Updating the application.
[02:33:27] [Minecraft:GSecurity Warning] : Couldn't determine URL to fetch update from.
[02:34:09] [API:GSecurity Activity] : Changing setting MinecraftModule.MinecraftSettings.ReleaseStream to 1
[02:34:11] [API:GSecurity Activity] : Changing setting MinecraftModule.MinecraftSettings.ReleaseStream to 0
[02:34:13] [API:GSecurity Activity] : Updating the application.
[02:34:13] [Minecraft:GSecurity Warning] : Couldn't determine URL to fetch update from.
[02:44:16] [RemoteAMPAuth:Anonymous Activity] : Authentication attempt for user GSecurity from 127.0.0.1
[02:44:16] [RemoteAMPAuth:Anonymous Activity] : Authentication success
[02:44:47] [API:GSecurity Activity] : Updating the application.
[02:44:47] [Minecraft:GSecurity Warning] : Couldn't determine URL to fetch update from.
[02:44:50] [API:GSecurity Activity] : Changing setting MinecraftModule.MinecraftSettings.ServerType to 20
[02:44:54] [API:GSecurity Activity] : Changing setting MinecraftModule.MinecraftSettings.ServerType to 50
[02:44:56] [API:GSecurity Activity] : Updating the application.
[02:44:56] [Minecraft:GSecurity Warning] : Couldn't determine URL to fetch update from.

I saw that on Discord happen to a few people last year, basically down to an issue with the certificate trust store on the OS

What ampinstmgr version are on you on btw?

ampinstmgr version

Like I wrote in first post, the latest one, (and like I wrote in last answer, I did a clean reinstall, so supposing latest version ofc) but here again:

  CubeCoders AMP  💻amp@RSM0Lin1Games  📁~  ampinstmgr version
[Info] AMP Instance Manager v2.3.2.10 built 21/04/2022 15:10
[Info] Release spec: Release - built by CUBECODERS/buildbot on CCL-DEV
  CubeCoders AMP  💻amp@RSM0Lin1Games  📁~ 

Hmm strange that issue with the OS trust store… and why only blocking for Forge and not the other server type… strange…

Run ampinstmgr --sync-certs as the amp user.

Ok, so.
I went as far as to reinstall a new server full fresh (debian 11).
I have exactly the same result, even after syncing the cert with ampinstmgr --sync-certs:

[14:59:41] [Core Info]            : AMP is up-to-date.
[14:59:41] [Minecraft Warning]    : Failed to get latest forge version data from http://files.minecraftforge.net/maven/net/minecraftforge/forge/maven-metadata.xml
[14:59:41] [Core Error]           : HttpRequestException
[14:59:41] [Core Error]           : [0] (HttpRequestException) : The SSL connection could not be established, see inner exception.
[14:59:41] [Core Error]           :   at MinecraftModule.UpdateManager.GetForgeUpdateData () 
[14:59:41] [Core Error]           : AuthenticationException
[14:59:41] [Core Error]           : [1] (AuthenticationException) : Authentication failed, see inner exception.
[14:59:41] [Core Error]           : MonoBtlsException
[14:59:41] [Core Error]           : [2] (MonoBtlsException) : Ssl error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED
  at /usr/src/mono/external/boringssl/ssl/handshake_client.c:1132
[14:59:41] [Core Error]           :   at Framework.Btls.FrameworkBtlsContext.ProcessHandshake () 
  at Framework.Net.Security.MobileAuthenticatedStream.ProcessHandshake (Framework.Net.Security.AsyncOperationStatus status, Boolean renegotiate) 
  at (wrapper remoting-invoke-with-check) Framework.Net.Security.MobileAuthenticatedStream.ProcessHandshake(Framework.Net.Security.AsyncOperationStatus,bool)
  at Framework.Net.Security.AsyncHandshakeRequest.Run (Framework.Net.Security.AsyncOperationStatus status) 
[14:59:43] [Minecraft Warning]    : Unable to get Purpur version data from https://api.pl3x.net/v2/purpur
[14:59:43] [Core Error]           : HttpRequestException
[14:59:43] [Core Error]           : [0] (HttpRequestException) : The SSL connection could not be established, see inner exception.
[14:59:43] [Core Error]           :   at MinecraftModule.UpdateManager.GetPurpurVersions () 
[14:59:43] [Core Error]           : AuthenticationException
[14:59:43] [Core Error]           : [1] (AuthenticationException) : Authentication failed, see inner exception.
[14:59:43] [Core Error]           : MonoBtlsException
[14:59:43] [Core Error]           : [2] (MonoBtlsException) : Ssl error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED
  at /usr/src/mono/external/boringssl/ssl/handshake_client.c:1132
[14:59:43] [Core Error]           :   at Framework.Btls.FrameworkBtlsContext.ProcessHandshake () 
  at Framework.Net.Security.MobileAuthenticatedStream.ProcessHandshake (Framework.Net.Security.AsyncOperationStatus status, Boolean renegotiate) 
  at (wrapper remoting-invoke-with-check) Framework.Net.Security.MobileAuthenticatedStream.ProcessHandshake(Framework.Net.Security.AsyncOperationStatus,bool)
  at Framework.Net.Security.AsyncHandshakeRequest.Run (Framework.Net.Security.AsyncOperationStatus status) 
[14:59:44] [RemoteAMPAuth:Anonymous Activity] : Authentication attempt for user GSecurity from 127.0.0.1
[14:59:44] [RemoteAMPAuth:Anonymous Activity] : Authentication success
[14:59:58] [Minecraft Warning]    : Unable to get Bedrock version data from https://minecraft.net/en-us/download/server/bedrock
[14:59:58] [Core Error]           : TaskCanceledException
[14:59:58] [Core Error]           : [0] (TaskCanceledException) : The operation was canceled.
[14:59:58] [Core Error]           :   at MinecraftModule.UpdateManager.GetBedrockVersion () 
[14:59:58] [Core Error]           : ObjectDisposedException
[14:59:58] [Core Error]           : [1] (ObjectDisposedException) : Cannot access a disposed object.
Object name: 'MobileAuthenticatedStream'.
[14:59:58] [Core Error]           :   at Net.Http.HttpConnection.FillAsync () 
  at Net.Http.HttpConnection.ReadNextResponseHeaderLineAsync (Boolean foldedHeadersAllowed) 
[14:59:58] [Minecraft Info]       : Using fallback bedrock version data...
[14:59:58] [Minecraft Info]       : Latest Bedrock version: 1.18.30.04
[14:59:58] [Minecraft Info]       : Updating Modpack cache for 90 modpacks...
[15:00:01] [Minecraft Info]       : Update complete.
[15:00:05] [API:GSecurity Activity] : Changing setting MinecraftModule.JavaSettings.MaxHeapSizeMB to 
[15:00:15] [API:GSecurity Activity] : Changing setting MinecraftModule.JavaSettings.MaxHeapSizeMB to 16384
[15:00:37] [API:GSecurity Activity] : Changing setting MinecraftModule.MinecraftSettings.ServerType to 50
[15:00:45] [API:GSecurity Activity] : Updating the application.
[15:00:45] [Minecraft:GSecurity Warning] : Couldn't determine URL to fetch update from.
[15:01:36] [RemoteAMPAuth:Anonymous Activity] : Authentication attempt for user GSecurity from 127.0.0.1
[15:01:37] [RemoteAMPAuth:Anonymous Activity] : Authentication success
[15:01:41] [API:GSecurity Activity] : Changing setting MinecraftModule.MinecraftSettings.ServerType to 10
[15:01:44] [API:GSecurity Activity] : Changing setting MinecraftModule.MinecraftSettings.ServerType to 50
[15:01:49] [API:GSecurity Activity] : Updating the application.
[15:01:49] [Minecraft:GSecurity Warning] : Couldn't determine URL to fetch update from.

The server has nothing fancy installed (screen, htop, mono-complete, to name the main).

So, I don’t get it that is does not work on a freshly newly installed server :confused:

Ahh, uninstall mono-complete. Also are you using Docker mode?

I’m not using docker mode. Could this help ?
Well, I need mono for other game servers (not supported by AMP), so can’t really uninstall it :confused:

P:S.: Forgot to mention that with the previous version (on the now old/replaced server), mono-complete was also installed and there was no issue… strange.

Try using it and see what happens. I’m a bit lost for ideas to be honest.

Really strange and no idea why, but well, tried with docker…
Reinstalled AMP to install/configure docker automatically, fail.
Did not install https correctly even tho the menu answers were correct and the installer showed to install it. Http only. Remove, reinstall… Worked this time…

Looks like having the instance as docker is now working and Forge information/version are showing up.

At least that’s fixed. What I still don’t get, is why only the Forge selection is creating this issue and ALL other server type work well… really strange.

On a side note, I saw that if you use too complex password when creating the admin user, you will not be able to login for the first install and will be obligated to reset the password for AMP to register it correctly. Happened to me several times already with different version.

Using “dumb” password work tho… but well, still have to change it afterwards, so not a solution anyway.

Well, thanks for the help, I’ll see if I can get the server backup run now.

regards

EDIT:

Well, new issue now…
Instances are not respecting memory limitation and server are using at launch (without any mod or anything) 20GB+ (22681MB) memory… what the hell…

and that is not respecting the 16384MB limitation on the docker + java settings…

At this point, I think I’m soon done with AMP and minecraft servers…
I guess the pro license will only be used for other games (supposed such issues don’t arise with them too)… kind of a disappointment…

Edit 2:

Well the docker function is just plain not usable. Whatever the game installed, it will bypass any memory restriction and will use as much memory as possible.

Well, sorry if I sound like an a$$, but have the real feeling that AMP did not better with time, and I’m seriously asking myself if I’ll uninstall it or not… I’m close too…

Edit 3:

Even when disabling docker for an instance, the memory issue is still there, making AMP totally unusable for any game server.

Just in case anyone else runs into this thread: There’s no such thing as ‘memory restrictions’ on an application level - when you set a memory limit for a docker container, then the application can still use as much ‘memory’ as it wants. But what will happen is that once it exceeds your set figure, it’ll start swapping to disk instead of using more physical RAM.