Giter Site home page Giter Site logo

fugasjunior / arma-server-manager Goto Github PK

View Code? Open in Web Editor NEW
52.0 52.0 10.0 3.5 MB

A web administration tool for managing Arma 3, Arma Reforger and DayZ dedicated servers

License: GNU General Public License v3.0

Java 48.01% FreeMarker 1.37% HTML 0.14% CSS 0.21% JavaScript 0.13% Dockerfile 0.30% TypeScript 49.84%
administration-interface arma3 arma3-mods arma3-server steam-workshop

arma-server-manager's People

Contributors

fugasjunior avatar ramius86 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

arma-server-manager's Issues

No arma3-server-gui.jar

I'm probably being stupid but I cloned the git onto ubuntu server headless, followed the instructions for custom install without docker, but can't find arma3-server-gui.jar.

Generated encryption keys sometimes don't work

Follow-up to #45.

Sometimes the AES-256 keys generated by https://www.allkeysgenerator.com/Random/Security-Encryption-Key-Generator.aspx don't work, causing the following exception.

org.springframework.orm.jpa.JpaSystemException: Error attempting to apply AttributeConverter; nested exception is javax.persistence.PersistenceException: Error attempting to apply AttributeConverter
...
Caused by: java.security.InvalidKeyException: No installed provider supports this key: javax.crypto.spec.SecretKeySpec
	at java.base/javax.crypto.Cipher.chooseProvider(Cipher.java:958)
	at java.base/javax.crypto.Cipher.init(Cipher.java:1299)
	at java.base/javax.crypto.Cipher.init(Cipher.java:1236)
	at cz.forgottenempire.servermanager.common.AttributeEncryptor.convertToDatabaseColumn(AttributeEncryptor.java:43)
	... 178 common frames omitted

Investigate this issue and find a reliable way of generating the encryption keys.

Installing duplicate mod causes UI error

When trying to install a mod that is already installed, the UI fails to render due to the following error:

TypeError: t.lastUpdated.toLocaleDateString is not a function
    children ModsTable.jsx:207
    Sc ModsTable.jsx:172
    React 8
    A scheduler.production.min.js:13
    R scheduler.production.min.js:14
[mods:2367:25](https://admin.forgottenempire.cz/mods)
    overrideMethod mods:2367
    React 9
    A scheduler.production.min.js:13
    R scheduler.production.min.js:14

Refreshing the page fixes the problem.

Improve mods table

With larger amounts of mods, the current table gets too user-unfriendly. Improve upon this implementation.

The new table should be able to:

  • Sort rows based on any/predefined set of columns
  • Filter
  • Paginate, with the ability to select page size (optional)

Steamcmd update errors

Using docker version.
Since steamcmd update i'm unable to download mod updates. Same problem on a fresh install.

Getting server installations 2023-06-19 14:40:49,492 INFO cz.forgottenempire.servermanager.installation.ServerInstallerService: Starting download of server 'ARMA3' 2023-06-19 14:40:55,069 INFO cz.forgottenempire.servermanager.installation.ServerInstallationController: Getting server installations 2023-06-19 14:41:14,354 ERROR cz.forgottenempire.servermanager.steamcmd.SteamCmdExecutor: SteamCmd failed due to: 'loading steam api...dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: no such file or directory' 2023-06-19 14:41:14,356 ERROR cz.forgottenempire.servermanager.steamcmd.SteamCmdExecutor: ======== SteamCMD ERROR OUTPUT START ======== 2023-06-19 14:41:14,356 ERROR cz.forgottenempire.servermanager.steamcmd.SteamCmdExecutor: Redirecting stderr to '/root/Steam/logs/stderr.txt' /tmp/dumps is not owned by us - delete and recreate [ 0%] Checking for available updates... [----] Downloading update (200 of 59,523 KB)... [ 98%] Downloading update (59,523 of 59,523 KB)... [100%] Download complete. [----] Installing update... [----] Cleaning up... [----] Update complete, launching Steamcmd... Redirecting stderr to '/root/Steam/logs/stderr.txt' [ 0%] Checking for available updates... [----] Verifying installation... Steam Console Client (c) Valve Corporation - version 1686881296 -- type 'quit' to exit -- Loading Steam API...dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory dlmopen libSDL3.so.0 failed: libSDL3.so.0: cannot open shared object file: No such file or directory OK "@NoPromptForPassword" = "1" "@ShutdownOnFailedCommand" = "1" Logging in user 'REDACTED' to Steam Public...FAILED (Invalid Login Auth Code) 2023-06-19 14:41:14,357 ERROR cz.forgottenempire.servermanager.steamcmd.SteamCmdExecutor: ======== SteamCMD ERROR OUTPUT END ======== 2023-06-19 14:41:14,364 ERROR cz.forgottenempire.servermanager.installation.ServerInstallerService: Download of server 'ARMA3' failed, reason: GENERIC 2023-06-19 14:41:19,078 INFO cz.forgottenempire.servermanager.installation.ServerInstallationController: Getting server installations

Missing files:

Loading Steam API...dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory dlmopen libSDL3.so.0 failed: libSDL3.so.0: cannot open shared object file: No such file or directory

It will actually download the server files, but because of the missing file error it writes GENERIC ERROR to the armaserver database.

See similar issue here

Can't find a way to select steam branches

Hi,
I'm trying to setup your docker and everything is fine, except I can't select the profiling branch for linux server ( ArmA 3 )
There's a way or I've to overwrite with BIS provided binaries inside storage?

Thanks

Uploading multiple files

currently i uploading over 40 scenarios one by one can you add option for uploading multiple file at once ? # #

An unexpected error occurred.

Hello!
Iam trying to install and use the ASM-Tool on my Ubuntu 22.04 server.

I installed docker and the compose is working fine. I also changed some values in the .env file for testing.
Like my password is just set to "test1234!".
As soon as I try to log in, with the standard user credentials given from the file, there is just an error popping up in the bottom left side that says "An unexpected error occurred."

Is there someone who could do a troubleshooting with me or tell me why the login isnt working?

wbr Only_a_Shadow

image

here is the log of my console aswell:

steam@Ubuntu-2204-jammy-amd64-base:/srv/asg$ sudo docker compose up
[+] Building 0.0s (0/0)
[+] Running 4/3
? Network asg_default Created 0.1s
? Container asg-adminer-1 Created 0.0s
? Container asg-db-1 Created 0.0s
? Container asg-armaservermanager-1 Created 0.0s
Attaching to asg-adminer-1, asg-armaservermanager-1, asg-db-1
asg-db-1 | 2023-06-03 17:56:05+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.33-1.el8 started.
asg-adminer-1 | [Sat Jun 3 17:56:05 2023] PHP 7.4.33 Development Server (http://[::]:8080) started
asg-db-1 | 2023-06-03 17:56:06+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
asg-db-1 | 2023-06-03 17:56:06+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.33-1.el8 started.
asg-db-1 | '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock'
asg-db-1 | 2023-06-03T17:56:06.290671Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead.
asg-db-1 | 2023-06-03T17:56:06.291570Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.33) starting as process 1
asg-db-1 | 2023-06-03T17:56:06.299854Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
asg-db-1 | 2023-06-03T17:56:06.362319Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
asg-armaservermanager-1 |
asg-armaservermanager-1 | . ____ _ __ _ _
asg-armaservermanager-1 | /\ / ' __ _ () __ __ _ \ \ \
asg-armaservermanager-1 | ( ( )_
_ | '_ | '| | ' / _| \ \ \ \ asg-armaservermanager-1 | \\/ ___)| |_)| | | | | || (_| | ) ) ) ) asg-armaservermanager-1 | ' |____| .__|_| |_|_| |_\__, | / / / / asg-armaservermanager-1 | =========|_|==============|___/=/_/_/_/ asg-armaservermanager-1 | :: Spring Boot :: (v2.7.5) asg-armaservermanager-1 | asg-armaservermanager-1 | 2023-06-03 17:56:06,487 INFO org.springframework.boot.StartupInfoLogger: Starting ServerManagerApplication using Java 17.0.6 on Ubuntu-2204-jammy-amd64-base with PID 1 (/home/steam/app.jar started by root in /home/steam) asg-armaservermanager-1 | 2023-06-03 17:56:06,487 INFO org.hibernate.validator.internal.util.Version: HV000001: Hibernate Validator 6.2.5.Final asg-armaservermanager-1 | 2023-06-03 17:56:06,488 INFO org.springframework.boot.SpringApplication: The following 1 profile is active: "docker" asg-db-1 | 2023-06-03T17:56:06.496465Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed. asg-db-1 | 2023-06-03T17:56:06.496483Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel. asg-db-1 | 2023-06-03T17:56:06.497403Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory. asg-db-1 | 2023-06-03T17:56:06.506786Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock asg-db-1 | 2023-06-03T17:56:06.506828Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.33' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server - GPL. asg-armaservermanager-1 | 2023-06-03 17:56:06,882 INFO org.springframework.data.repository.config.RepositoryConfigurationDelegate: Bootstrapping Spring Data JPA repositories in DEFAULT mode. asg-armaservermanager-1 | 2023-06-03 17:56:06,927 INFO org.springframework.data.repository.config.RepositoryConfigurationDelegate: Finished Spring Data repository scanning in 40 ms. Found 6 JPA repository interfaces. asg-armaservermanager-1 | 2023-06-03 17:56:07,319 INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer: Tomcat initialized with port(s): 8080 (http) asg-armaservermanager-1 | 2023-06-03 17:56:07,330 INFO org.apache.juli.logging.DirectJDKLog: Initializing ProtocolHandler ["http-nio-8080"] asg-armaservermanager-1 | 2023-06-03 17:56:07,331 INFO org.apache.juli.logging.DirectJDKLog: Starting service [Tomcat] asg-armaservermanager-1 | 2023-06-03 17:56:07,331 INFO org.apache.juli.logging.DirectJDKLog: Starting Servlet engine: [Apache Tomcat/9.0.68] asg-armaservermanager-1 | 2023-06-03 17:56:07,374 INFO org.apache.juli.logging.DirectJDKLog: Initializing Spring embedded WebApplicationContext asg-armaservermanager-1 | 2023-06-03 17:56:07,375 INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext: Root WebApplicationContext: initialization completed in 858 ms asg-armaservermanager-1 | 2023-06-03 17:56:07,469 INFO org.flywaydb.core.internal.logging.slf4j.Slf4jLog: Flyway Community Edition 9.6.0 by Redgate asg-armaservermanager-1 | 2023-06-03 17:56:07,469 INFO org.flywaydb.core.internal.logging.slf4j.Slf4jLog: See what's new here: https://flywaydb.org/documentation/learnmore/releaseNotes#9.6.0 asg-armaservermanager-1 | 2023-06-03 17:56:07,469 INFO org.flywaydb.core.internal.logging.slf4j.Slf4jLog: asg-armaservermanager-1 | 2023-06-03 17:56:07,474 INFO com.zaxxer.hikari.HikariDataSource: HikariPool-1 - Starting... asg-armaservermanager-1 | 2023-06-03 17:56:07,711 INFO com.zaxxer.hikari.HikariDataSource: HikariPool-1 - Start completed. asg-armaservermanager-1 | 2023-06-03 17:56:07,729 INFO org.flywaydb.core.internal.logging.slf4j.Slf4jLog: Database: jdbc:mysql://localhost:3306/armaservermanager_db (MySQL 8.0) asg-armaservermanager-1 | 2023-06-03 17:56:07,782 INFO org.flywaydb.core.internal.logging.slf4j.Slf4jLog: Successfully validated 2 migrations (execution time 00:00.027s) asg-armaservermanager-1 | 2023-06-03 17:56:07,790 INFO org.flywaydb.core.internal.logging.slf4j.Slf4jLog: Current version of schemaarmaservermanager_db: 1.1.0 asg-armaservermanager-1 | 2023-06-03 17:56:07,791 INFO org.flywaydb.core.internal.logging.slf4j.Slf4jLog: Schema armaservermanager_db` is up to date. No migration necessary.
asg-armaservermanager-1 | 2023-06-03 17:56:07,855 INFO org.hibernate.jpa.internal.util.LogHelper: HHH000204: Processing PersistenceUnitInfo [name: default]
asg-armaservermanager-1 | 2023-06-03 17:56:07,902 INFO org.hibernate.Version: HHH000412: Hibernate ORM core version 5.6.12.Final
asg-armaservermanager-1 | 2023-06-03 17:56:08,048 INFO org.hibernate.annotations.common.reflection.java.JavaReflectionManager: HCANN000001: Hibernate Commons Annotations {5.1.2.Final}
asg-armaservermanager-1 | 2023-06-03 17:56:08,105 INFO org.hibernate.dialect.Dialect: HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
asg-armaservermanager-1 | 2023-06-03 17:56:08,502 INFO org.hibernate.engine.transaction.jta.platform.internal.JtaPlatformInitiator: HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
asg-armaservermanager-1 | 2023-06-03 17:56:08,506 INFO org.springframework.orm.jpa.AbstractEntityManagerFactoryBean: Initialized JPA EntityManagerFactory for persistence unit 'default'
asg-armaservermanager-1 | 2023-06-03 17:56:08,783 INFO cz.forgottenempire.servermanager.workshop.UpdateModsCronJob: Scheduling mod update cronjob for 03:00 AM every day
asg-armaservermanager-1 | 2023-06-03 17:56:08,874 WARN org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration$JpaWebConfiguration: spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
asg-armaservermanager-1 | 2023-06-03 17:56:09,113 INFO org.springframework.security.web.DefaultSecurityFilterChain: Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@45292ec1, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@3a7c678b, org.springframework.security.web.context.SecurityContextPersistenceFilter@3421debd, org.springframework.security.web.header.HeaderWriterFilter@66e17eff, org.springframework.web.filter.CorsFilter@28babeca, org.springframework.security.web.authentication.logout.LogoutFilter@713a35c5, cz.forgottenempire.servermanager.security.JWTAuthenticationFilter@1ad9b8d3, cz.forgottenempire.servermanager.security.JWTAuthorizationFilter@168ad26f, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@68b7d0ef, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@764b14b8, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@4f93bf0a, org.springframework.security.web.session.SessionManagementFilter@1bbddada, org.springframework.security.web.access.ExceptionTranslationFilter@2dafae61, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@69f2cb04]
asg-armaservermanager-1 | 2023-06-03 17:56:09,200 INFO org.springframework.boot.autoconfigure.web.servlet.WelcomePageHandlerMapping: Adding welcome page: class path resource [static/index.html]
asg-armaservermanager-1 | 2023-06-03 17:56:09,328 INFO org.apache.juli.logging.DirectJDKLog: Starting ProtocolHandler ["http-nio-8080"]
asg-armaservermanager-1 | 2023-06-03 17:56:09,335 INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer: Tomcat started on port(s): 8080 (http) with context path ''
asg-armaservermanager-1 | 2023-06-03 17:56:09,344 INFO org.springframework.boot.StartupInfoLogger: Started ServerManagerApplication in 3.119 seconds (JVM running for 3.332)

Stuck "updating" server

The server is stuck saying "updating" when it was just installed and update was hit incorrectly.

Storage indicator doesn't show until at least one workshop mod is installed

The storage indicator doesn't work (shows 0/0) until at least one workshop mod is installed. This is due to how the size is fetched from the system, as the workshop install directory is used instead of the server directory. This will also cause issues with the server and mods installed on different drives.

Having problems downloading some mods

Im new to all of this, but when I attempt to install some mods, I get hit with an error where it says "
Installation of some mods failed. Review the errors below:

Unidentified error. Please contact the system administrator."

When i try to look for the error, i go into the logs of the specific directory I have it downloading mods to. Im having a rough go at it. Any advice or a walkthrough would be appreciated.

Add access to log files in GUI

Log files should be accessible through GUI. Currently, the only way to see the logs is to find them on the host filesystem. This is especially inconvenient when the app is run in a Docker container.

How to import mod presets?

If I export a mod preset from Arma 3, how would I go about importing that preset into the server? If that is not a feature, is that something that is planned?

Custom Difficulty Settings Not being applied

I have setup arma-server-manager on my Linux box and was using it for some testing, but one thing I noticed is that all of the settings that I have set have not been applied.

image
image
image

The data seems to be in the database, so it has saved, not sure why it hasn't applied. Any ideas?

issue with path what am i doing wrong

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'steamCmdExecutor' defined in URL [jar:file:/C:/arma/arma3-server-gui_v1.0.0/arma3-server-gui.jar!/BOOT-INF/classes!/cz/forgottenempire/servermanager/steamcmd/SteamCmdExecutor.class]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [cz.forgottenempire.servermanager.steamcmd.SteamCmdExecutor]: Constructor threw exception; nested exception is java.lang.IllegalStateException: Invalid path to SteamCMD executable given

Paths

Absolute path to SteamCMD executable.

steamcmd.path=C:\stamcmd\steamcmd.exe

Optimize build process

  • When building Docker image, frontend app is recompiled even when no changes were made to it
  • App version is present in two different places, make it into a single source
  • Investigate large docker image size

Issues setting up docker container with windows

Hey there!

I'm having trouble setting the project up on Windows 10.
I cloned the project, and tried to setup the docker containers using docker compose.
When I try to connect to localhost:8080 with my webbrowser (Brave), the website fails to load (not found, as if no server would exist).

This is what powershell prints after starting up the docker container:

PS D:\ArmaServerManager\arma-server-manager\TestServer> docker compose up
[+] Running 3/0
 - Container testserver-adminer-1            Created                                                                                                                                                        0.0s
 - Container testserver-db-1                 Created                                                                                                                                                        0.0s
 - Container testserver-armaservermanager-1  Recreated                                                                                                                                                      0.1s
Attaching to testserver-adminer-1, testserver-armaservermanager-1, testserver-db-1
testserver-adminer-1            | [Tue Oct 17 15:20:35 2023] PHP 7.4.33 Development Server (http://[::]:8080) started
testserver-db-1                 | 2023-10-17 15:20:35+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.1.0-1.el8 started.
testserver-db-1                 | 2023-10-17 15:20:35+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
testserver-db-1                 | 2023-10-17 15:20:35+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.1.0-1.el8 started.
testserver-db-1                 | '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock'
testserver-db-1                 | 2023-10-17T15:20:36.025784Z 0 [System] [MY-015015] [Server] MySQL Server - start.
testserver-db-1                 | 2023-10-17T15:20:36.214426Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead.
testserver-db-1                 | 2023-10-17T15:20:36.215444Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.1.0) starting as process 1
testserver-db-1                 | 2023-10-17T15:20:36.220517Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
testserver-db-1                 | 2023-10-17T15:20:36.312462Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
testserver-db-1                 | 2023-10-17T15:20:36.491508Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
testserver-db-1                 | 2023-10-17T15:20:36.491558Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
testserver-db-1                 | 2023-10-17T15:20:36.494673Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
testserver-db-1                 | 2023-10-17T15:20:36.507838Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
testserver-db-1                 | 2023-10-17T15:20:36.507910Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.1.0'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.
testserver-armaservermanager-1  |
testserver-armaservermanager-1  |   .   ____          _            __ _ _
testserver-armaservermanager-1  |  /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
testserver-armaservermanager-1  | ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
testserver-armaservermanager-1  |  \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
testserver-armaservermanager-1  |   '  |____| .__|_| |_|_| |_\__, | / / / /
testserver-armaservermanager-1  |  =========|_|==============|___/=/_/_/_/
testserver-armaservermanager-1  |  :: Spring Boot ::                (v2.7.5)
testserver-armaservermanager-1  |
testserver-armaservermanager-1  | 2023-10-17 15:20:36,729 INFO  org.springframework.boot.StartupInfoLogger: Starting ServerManagerApplication using Java 17.0.7 on docker-desktop with PID 1 (/home/steam/app.jar started by root in /home/steam)
testserver-armaservermanager-1  | 2023-10-17 15:20:36,729 INFO  org.hibernate.validator.internal.util.Version: HV000001: Hibernate Validator 6.2.5.Final
testserver-armaservermanager-1  | 2023-10-17 15:20:36,732 INFO  org.springframework.boot.SpringApplication: The following 1 profile is active: "docker"
testserver-armaservermanager-1  | 2023-10-17 15:20:37,286 INFO  org.springframework.data.repository.config.RepositoryConfigurationDelegate: Bootstrapping Spring Data JPA repositories in DEFAULT mode.
testserver-armaservermanager-1  | 2023-10-17 15:20:37,348 INFO  org.springframework.data.repository.config.RepositoryConfigurationDelegate: Finished Spring Data repository scanning in 55 ms. Found 6 JPA repository interfaces.
testserver-armaservermanager-1  | 2023-10-17 15:20:37,818 INFO  org.springframework.boot.web.embedded.tomcat.TomcatWebServer: Tomcat initialized with port(s): 8080 (http)
testserver-armaservermanager-1  | 2023-10-17 15:20:37,826 INFO  org.apache.juli.logging.DirectJDKLog: Initializing ProtocolHandler ["http-nio-8080"]
testserver-armaservermanager-1  | 2023-10-17 15:20:37,826 INFO  org.apache.juli.logging.DirectJDKLog: Starting service [Tomcat]
testserver-armaservermanager-1  | 2023-10-17 15:20:37,827 INFO  org.apache.juli.logging.DirectJDKLog: Starting Servlet engine: [Apache Tomcat/9.0.68]
testserver-armaservermanager-1  | 2023-10-17 15:20:37,878 INFO  org.apache.juli.logging.DirectJDKLog: Initializing Spring embedded WebApplicationContext
testserver-armaservermanager-1  | 2023-10-17 15:20:37,879 INFO  org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext: Root WebApplicationContext: initialization completed in 1106 ms
testserver-armaservermanager-1  | 2023-10-17 15:20:38,019 INFO  org.flywaydb.core.internal.logging.slf4j.Slf4jLog: Flyway Community Edition 9.6.0 by Redgate
testserver-armaservermanager-1  | 2023-10-17 15:20:38,019 INFO  org.flywaydb.core.internal.logging.slf4j.Slf4jLog: See what's new here: https://flywaydb.org/documentation/learnmore/releaseNotes#9.6.0
testserver-armaservermanager-1  | 2023-10-17 15:20:38,019 INFO  org.flywaydb.core.internal.logging.slf4j.Slf4jLog:
testserver-armaservermanager-1  | 2023-10-17 15:20:38,027 INFO  com.zaxxer.hikari.HikariDataSource: HikariPool-1 - Starting...
testserver-armaservermanager-1  | 2023-10-17 15:20:38,308 INFO  com.zaxxer.hikari.HikariDataSource: HikariPool-1 - Start completed.
testserver-armaservermanager-1  | 2023-10-17 15:20:38,331 INFO  org.flywaydb.core.internal.logging.slf4j.Slf4jLog: Database: jdbc:mysql://localhost:3306/armaservermanager_db (MySQL 8.1)
testserver-armaservermanager-1  | 2023-10-17 15:20:38,359 WARN  org.flywaydb.core.internal.logging.slf4j.Slf4jLog: Flyway upgrade recommended: MySQL 8.1 is newer than this version of Flyway and support has not been tested. The latest supported version of MySQL is 8.0.
testserver-armaservermanager-1  | 2023-10-17 15:20:38,388 INFO  org.flywaydb.core.internal.logging.slf4j.Slf4jLog: Successfully validated 2 migrations (execution time 00:00.022s)
testserver-armaservermanager-1  | 2023-10-17 15:20:38,400 INFO  org.flywaydb.core.internal.logging.slf4j.Slf4jLog: Current version of schema `armaservermanager_db`: 1.1.0
testserver-armaservermanager-1  | 2023-10-17 15:20:38,401 INFO  org.flywaydb.core.internal.logging.slf4j.Slf4jLog: Schema `armaservermanager_db` is up to date. No migration necessary.
testserver-armaservermanager-1  | 2023-10-17 15:20:38,459 INFO  org.hibernate.jpa.internal.util.LogHelper: HHH000204: Processing PersistenceUnitInfo [name: default]
testserver-armaservermanager-1  | 2023-10-17 15:20:38,491 INFO  org.hibernate.Version: HHH000412: Hibernate ORM core version 5.6.12.Final
testserver-armaservermanager-1  | 2023-10-17 15:20:38,636 INFO  org.hibernate.annotations.common.reflection.java.JavaReflectionManager: HCANN000001: Hibernate Commons Annotations {5.1.2.Final}
testserver-armaservermanager-1  | 2023-10-17 15:20:38,706 INFO  org.hibernate.dialect.Dialect: HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
testserver-armaservermanager-1  | 2023-10-17 15:20:38,821 ERROR cz.forgottenempire.servermanager.common.AttributeEncryptor: The provided AES database encryption key is not invalid, proceeding without encryption. (Cause: Invalid AES key length: 64 bytes)
testserver-armaservermanager-1  | 2023-10-17 15:20:39,303 INFO  org.hibernate.engine.transaction.jta.platform.internal.JtaPlatformInitiator: HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
testserver-armaservermanager-1  | 2023-10-17 15:20:39,308 INFO  org.springframework.orm.jpa.AbstractEntityManagerFactoryBean: Initialized JPA EntityManagerFactory for persistence unit 'default'
testserver-armaservermanager-1  | 2023-10-17 15:20:39,706 INFO  cz.forgottenempire.servermanager.workshop.UpdateModsCronJob: Scheduling mod update cronjob for 03:00 AM every day
testserver-armaservermanager-1  | 2023-10-17 15:20:39,849 WARN  org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration$JpaWebConfiguration: spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
testserver-armaservermanager-1  | 2023-10-17 15:20:39,883 ERROR cz.forgottenempire.servermanager.common.AttributeEncryptor: The provided AES database encryption key is not invalid, proceeding without encryption. (Cause: Invalid AES key length: 64 bytes)
testserver-armaservermanager-1  | 2023-10-17 15:20:40,086 INFO  org.springframework.security.web.DefaultSecurityFilterChain: Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@19b02dfd, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@3dce6dd8, org.springframework.security.web.context.SecurityContextPersistenceFilter@66e17eff, org.springframework.security.web.header.HeaderWriterFilter@73c48264, org.springframework.web.filter.CorsFilter@69f2cb04, org.springframework.security.web.authentication.logout.LogoutFilter@519c6fcc, cz.forgottenempire.servermanager.security.JWTAuthenticationFilter@13803a94, cz.forgottenempire.servermanager.security.JWTAuthorizationFilter@b4732dc, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1bbddada, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@3421debd, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@45292ec1, org.springframework.security.web.session.SessionManagementFilter@5bcec67e, org.springframework.security.web.access.ExceptionTranslationFilter@6b2dd3df, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@3292d91a]
testserver-armaservermanager-1  | 2023-10-17 15:20:40,207 INFO  org.springframework.boot.autoconfigure.web.servlet.WelcomePageHandlerMapping: Adding welcome page: class path resource [static/index.html]
testserver-armaservermanager-1  | 2023-10-17 15:20:40,375 INFO  org.apache.juli.logging.DirectJDKLog: Starting ProtocolHandler ["http-nio-8080"]
testserver-armaservermanager-1  | 2023-10-17 15:20:40,386 INFO  org.springframework.boot.web.embedded.tomcat.TomcatWebServer: Tomcat started on port(s): 8080 (http) with context path ''
testserver-armaservermanager-1  | 2023-10-17 15:20:40,397 INFO  org.springframework.boot.StartupInfoLogger: Started ServerManagerApplication in 4.027 seconds (JVM running for 4.361)
Gracefully stopping... (press Ctrl+C again to force)
[+] Running 3/3
 - Container testserver-armaservermanager-1  Stopped                                                                                                                                                        0.1s
 - Container testserver-adminer-1            Stopped                                                                                                                                                        0.6s
 - Container testserver-db-1                 Stopped                                                                                                                                                        1.1s
canceled

In the docker-compose.yml file i noticed the comment, that i have to setup the ports myself on windows. Therefore I edited the docker-compose.yml like this:

version: '3.3'

services:
  db:
    image: mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}"
      MYSQL_DATABASE: "${MYSQL_DB_NAME}"
      MYSQL_USER: "${MYSQL_USER}"
      MYSQL_PASSWORD: "${MYSQL_PASSWORD}"
    ports:
      - "3306:3306"
    volumes:
      - armaservermanager-db:/var/lib/mysql

  adminer:
    image: adminer
    restart: always
    ports:
      - "8090:8080"

  armaservermanager:
    image: "fugasjunior/armaservermanager:${VERSION}"
    restart: always
    #    Not available on Windows. If you need to run this image on Windows, you need to set up port mappings manually.
    network_mode: host
    ports:
      - "8080:80"
    depends_on:
      - db
    volumes:
      #      - /home/armaservermanager/storage:/home/steam/armaservermanager/
      - armaservermanager-storage:/home/steam/armaservermanager/
    environment:
      AUTH_USERNAME: "${AUTH_USERNAME}"
      AUTH_PASSWORD: "${AUTH_PASSWORD}"
      SPRING_DATASOURCE_URL: "${MYSQL_DB_URL}"
      SPRING_DATASOURCE_USERNAME: "${MYSQL_USER}"
      SPRING_DATASOURCE_PASSWORD: "${MYSQL_PASSWORD}"
      STEAM_API_KEY: "${STEAM_API_KEY}"
      JWT_SECRET: "${JWT_SECRET}"
      DATABASE_ENCRYPTION_SECRET: "${DATABASE_ENCRYPTION_SECRET}"

volumes:
  armaservermanager-db:
  armaservermanager-storage:

I also setup the .env file by providing the according auth keys.

Am I missing something?

Reforger config outdated

I set up ASM in a Ubuntu VPS without Docker and when I try to install and start Arma Reforger an Unindentified Error occurs. Looking at the logs it appears to be a problem with the config file. When I start it manually with the test config file or the config file from the server instance I created it tells me that some parameters are not allowed. Looking at the wiki it seems that they updated the config parameters. If I switch the parameters and start manually it works. Is ASM going to be updated to fix this? In the meanwhile could I do something to use ASM with reforger with an updated custom config file?

How can the server be reached in arma 3?

Hey there,

I managed to setup the app with steam auth, installing arma 3 server and adding a scenario and mods and configuring the server. But it does not show up under direct connect with the vps server IP and 2302 port, and i also cant query it by keywords. Do i have to open ports first? According to logs it seems to be running

The app currently runs in a network with nginx proxy manager and is served over it.

Here my configurations below:
image
image

[Issue] Could not Query Server

Installed everyting and running through a docker container. Web interface worked and no problems.

When testing a server. Error code sends out

ERROR cz.forgottenempire.servermanager.serverinstance.CheckServerInstancesStatusCronJob: Couldn't query server TEST SERVER (ID 3) on port 3303
java.util.concurrent.ExecutionException: com.ibasco.agql.core.exceptions.ReadTimeoutException: Timeout occured for 'SessionId{id='SourceInfoResponse:127.0.0.1:3303'}' Started: 5.101000 seconds ago
	at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396)
	at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2096)
	at cz.forgottenempire.servermanager.serverinstance.CheckServerInstancesStatusCronJob.updateServerInstanceInfo(CheckServerInstancesStatusCronJob.java:67)
	at cz.forgottenempire.servermanager.serverinstance.CheckServerInstancesStatusCronJob.lambda$checkServers$0(CheckServerInstancesStatusCronJob.java:41)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
	at cz.forgottenempire.servermanager.serverinstance.CheckServerInstancesStatusCronJob.checkServers(CheckServerInstancesStatusCronJob.java:36)
	at jdk.internal.reflect.GeneratedMethodAccessor114.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84)
	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: com.ibasco.agql.core.exceptions.ReadTimeoutException: Timeout occured for 'SessionId{id='SourceInfoResponse:127.0.0.1:3303'}' Started: 5.101000 seconds ago
	at com.ibasco.agql.core.ReadRequestTimeoutTimerTask.run(ReadRequestTimeoutTimerTask.java:63)
	at io.netty.util.HashedWheelTimer$HashedWheelTimeout.run(HashedWheelTimer.java:715)
	at io.netty.util.concurrent.ImmediateExecutor.execute(ImmediateExecutor.java:34)
	at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:703)
	at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:790)
	at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:503)
	... 1 common frames omitted

Not starting armaservermanager container in docker network

Hi there! Thanks first of all for your great work.

I am trying to serve the arma-server-manager over nginx-proxy-manager on Ubuntu 22.04 with Docker. Therefore I need to move the three containers (db, adminer and the main app) into a network with the nginx-proxy-manager. I changed the docker-compose.yaml accordingly (removed the network_mode: host option and added a network for all containers to join into).

version: '3.3'

services:
  db:
    image: mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}"
      MYSQL_DATABASE: "${MYSQL_DB_NAME}"
      MYSQL_USER: "${MYSQL_USER}"
      MYSQL_PASSWORD: "${MYSQL_PASSWORD}"
    networks:
      - nginx-app-container-network
    ports:
      - "3306:3306"
    volumes:
      - armaservermanager-db:/var/lib/mysql

  adminer:
    image: adminer
    restart: always
    networks:
      - nginx-app-container-network
    ports:
      - "8090:8080"

  armaservermanager:
    image: "fugasjunior/armaservermanager:${VERSION}"
    restart: always
    #    Not available on Windows. If you need to run this image on Windows, you need to set up port mappings manually.
    # network_mode: host
    networks:
      - nginx-app-container-network
    depends_on:
      - db
    volumes:
      #      - /home/armaservermanager/storage:/home/steam/armaservermanager/
      - armaservermanager-storage:/home/steam/armaservermanager/
    environment:
      AUTH_USERNAME: "${AUTH_USERNAME}"
      AUTH_PASSWORD: "${AUTH_PASSWORD}"
      SPRING_DATASOURCE_URL: "${MYSQL_DB_URL}"
      SPRING_DATASOURCE_USERNAME: "${MYSQL_USER}"
      SPRING_DATASOURCE_PASSWORD: "${MYSQL_PASSWORD}"
      STEAM_API_KEY: "${STEAM_API_KEY}"
      JWT_SECRET: "${JWT_SECRET}"
      DATABASE_ENCRYPTION_SECRET: "${DATABASE_ENCRYPTION_SECRET}"

networks:
  nginx-app-container-network:
    external: true

volumes:
  armaservermanager-db:
  armaservermanager-storage:

DB and adminer start, but i get this error:


2023-12-06 12:28:01,759 ERROR com.zaxxer.hikari.pool.HikariPool: HikariPool-1 - Exception during pool initialization.
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
        at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174)
        at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64)
        at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:828)
        at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:448)
        at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241)
        at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)
        at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138)
        at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:364)
        at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206)
        at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:476)
        at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561)
        at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115)
        at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112)
        at org.flywaydb.core.internal.jdbc.JdbcUtils.openConnection(JdbcUtils.java:48)
        at org.flywaydb.core.internal.jdbc.JdbcConnectionFactory.<init>(JdbcConnectionFactory.java:75)
        at org.flywaydb.core.FlywayExecutor.execute(FlywayExecutor.java:146)
        at org.flywaydb.core.Flyway.migrate(Flyway.java:128)
        at org.springframework.boot.autoconfigure.flyway.FlywayMigrationInitializer.afterPropertiesSet(FlywayMigrationInitializer.java:66)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
        at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:734)
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:308)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295)
        at cz.forgottenempire.servermanager.ServerManagerApplication.main(ServerManagerApplication.java:14)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65)
Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
        at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
        at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)
        at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151)
        at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:167)
        at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:89)
        at com.mysql.cj.NativeSession.connect(NativeSession.java:120)
        at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:948)
        at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:818)
        ... 43 common frames omitted
Caused by: java.net.ConnectException: Connection refused
        at java.base/sun.nio.ch.Net.pollConnect(Native Method)
        at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)
        at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:542)
        at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:597)
        at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
        at java.base/java.net.Socket.connect(Socket.java:633)
        at com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:153)
        at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:63)
        ... 46 common frames omitted
2023-12-06 12:28:01,767 WARN  org.springframework.context.support.AbstractApplicationContext: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Invocation of init method failed; nested exception is org.flywaydb.core.internal.exception.FlywaySqlException: Unable to obtain connection from database: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SQL State  : 08S01
Error Code : 0
Message    : Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

2023-12-06 12:28:01,786 INFO  org.apache.juli.logging.DirectJDKLog: Stopping service [Tomcat]
2023-12-06 12:28:01,817 INFO  org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener: 

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2023-12-06 12:28:01,853 ERROR org.springframework.boot.SpringApplication: Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Invocation of init method failed; nested exception is org.flywaydb.core.internal.exception.FlywaySqlException: Unable to obtain connection from database: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Do you know a solution?

Unable to login with steam account in panel

Hello! We have added the steam API key in the env and are trying to login with a valid steam account in the panel with Arma 3. We have tried with and without 2FA, and with multiple accounts, yet the error persists. Without the account we are unable to setup the Arma 3 Server. We have no clue how to fix this issue. Help will be appreciated. My discord is Verdun#1924, if you want to get in touch there instead. This is running on an Ubuntu VPS through docker. Log file is attached below.

Thanks in advance! We really need help setting this up.

image

LOGS:
_armaservermanager-armaservermanager-1_logs (4).txt

Repartioning a drive on linux breaks storage information

Running this container inside of portainer on a linux VM, I needed more storage for the server download. After repartitioning the drive, the webapp now shows interesting storage information:
image

Not really something I'm worried about, but there you go.

Feature request to add the possibility to add custom diffculty/files (server.armaprofile)

Hi!

We wish to edit custom difficulty, but it doesn't seem to work properly when we try to follow Bohemia Interactive's configs, it doesn't work.
It seems it doesn't want to play ball for example to disable thirdpersonview.

We've tried to name ARMA3.armaprofile but it doesn't load it.
We've tried to add name="ARMA3.profile" in Addtional Options.

Nor does it seem to accept when you copy and paste this whole section:
https://community.bistudio.com/wiki/server.armaprofile

Else this server software is Awesome and should be standard really in Arma 3 hosting!

Installation keeps running with no progress.

Sorry, I'm really new to docker, so forgive noob questions.

I installed it with docker compose running on Unraid. I can get the web interface up and running, but as soon as I launched it, both Arma 3 and Arma Reforger was installing. It just says "Installing" and then the bar beneath them are cycling through, but nothing happens. I left it running for an hour, just to make sure, but nothing happens.

I'm a little unsure about what logs you need and how to get them.

Implement long polling

Currently, the frontend utilizes short polling (around 10 seconds per request) to obtain information from the server. This is fine for the scope of this application but can be improved upon by implementing long polling in most cases.

Explore this option, how it can be implemented on the frontend and backend, and implement it wherever it makes sense.

SSL / HTTPS

Hey there, thanks for this great repository and your active support.
I am not a Docker-Expert but according to your Setup-Guide and the Repo's Docker-File it seems that the Webapp will be exposed on Port 8080 without HTTPS, right?
If I'm right, please consider adding maybe a Lets Encrypt Certification Mechanism or something to be a feature request, If I'm wrong I'd love some clarification on that.
My concern with this as of right now is that even though a Game-Server might not be a classic target for an attack, the consequences might be devastating if a breach happens.

How to add additional parameters

Hello, thanks for this wonderful project.

I have a few problems to running server with mods, im trying to migrate a Windows Server to running on Ubuntu Server, on vanilla works normal, but when i try to replicate parameters, im not sure if im doing correctly, per example, on Windows we add parameters like this:

-hugePages -enableHT -maxMem=8124 -limitFPS=50 -name=serverProfile -bandwidthAlg=2 -loadMissionToMemory -malloc=mimalloc_v212

in Ubuntu i try to add like this:

hugePages=y;enableHT=y;limitFPS=50;loadMissionToMemory=y;malloc=mimalloc_v212;steamProtocolMaxDataSize=2048;
image

Thanks

Feature request: Ability to schedule Arma server automatic restart

First, I'd like to say, I love this project, it is awesome, great work!

Second, I'd like the ability to schedule an automatic restart of the Arma3 server that I am running. If this already exists, then I haven't been able to find it. Sure, this could probably done with a cron job in the container, and a shell script, but I'm not fully sure on how that would integrate with the rest of the application.

Stuck on loading when the login credentials expire

When the login credentials expire, the app does not properly redirect the user to the login screen. Instead, only an infinite progress bar is shown. In this case, the user first needs to click the Log out button to be able to login again and continue using the app.

Downloading mods gives a "Generic" error.

Hi!

I try to download mods. I always get a "generic" error.
I use an "empty" account with no Arma 3 game installed, but with a valid API key.
I use a empty account after recommendations from Bohemia Interactive to have a dedicated server account.

I'll uploaded the errors in a .txt
log.txt

Cant install some mods

Hi, thanks a lot for a great project.

Im trying to install a few mods for arma 3, everything works great, just a few custom mods didnt allow me, i receive this message "Tried to install mod ID 2619723985 which is not consumed by any of the supported servers"

image

What can i do for this?

Thanks.

headless

Hi, You have made it supereasy to create a server ! Thank you! :)

But as there is no builtin support for headless yet is it possible for me to run a manual ./armaserver_x64 -client within the container or is there a better way to do it?

Fix scenario download

After implementing the JWT auth, the user can not download a scenario from the server. This needs to be fixed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.