Enhanced Multiplayer Menu – Arma 3

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "server.cfg" to "server config")
m (Text replacement - "[[server.cfg#" to "[[Arma 3: Server Config File#")
 
Line 299: Line 299:
# Region filter: Select one or multiple regions or sub-regions to show only the servers located in those regions
# Region filter: Select one or multiple regions or sub-regions to show only the servers located in those regions
# Quality filter: Select one or multiple quality levels show only the servers within those quality levels
# Quality filter: Select one or multiple quality levels show only the servers within those quality levels
# Server settings toggles: Switch between Show Any, Show Disabled and Show Active modes to show servers only with the respective server settings. See more at: [[server.cfg#Server_Options|Server Options]]
# Server settings toggles: Switch between Show Any, Show Disabled and Show Active modes to show servers only with the respective server settings. See more at: [[Arma 3: Server Config File#Server_Options|Server Options]]
#* Passworded
#* Passworded
#* Locked
#* Locked
Line 414: Line 414:
{{Feature|important|
{{Feature|important|
Activating UPnP on your router '''can pose a security risk''' - it is recommended to use [[Arma_3:_Dedicated_Server#Port_Forwarding|Port Forwarding]].
Activating UPnP on your router '''can pose a security risk''' - it is recommended to use [[Arma_3:_Dedicated_Server#Port_Forwarding|Port Forwarding]].
For more information on UPnP check [[server.cfg#Server_Behaviour|Server Behaviour]].
For more information on UPnP check [[Arma 3: Server Config File#Server_Behaviour|Server Behaviour]].
}}
}}


Line 453: Line 453:
=== Server Name Links ===
=== Server Name Links ===


To have your Website/Teamspeak/Discord/QQ/YY be shown in Server Details, as Server Admin you can modify the [[server.cfg#Server_Options|server name]] for the custom tags to be recognized:
To have your Website/Teamspeak/Discord/QQ/YY be shown in Server Details, as Server Admin you can modify the [[Arma 3: Server Config File#Server_Options|server name]] for the custom tags to be recognized:


Website:
Website:

Latest revision as of 13:40, 17 May 2024

Enhanced Multiplayer Menu (or EMM) is an alternative in-game server browser for Arma 3. The vision is make the complex multiplayer environment easier to navigate and enable players to explore the diverse community driven server and game modes landscape. The initial focus is to support CDLC use in MP best. However also pure Arma 3 or modded MP play is to be made more convenient a great deal. EMM is bundled with some CDLCs. In addition in the near future EMM will become available as standalone client side mod on the Steam workshop as well.


Goals

  1. Speed - gets you those servers at lightning speed
  2. Relevance - show you only those servers you are looking for
  3. Ease of use - responsive, fun and easy
  4. Expose community game modes - learn about and explore the wide variety - via game mode images, descriptions and default sorting by server activity (instead raw player numbers or ping)
  5. Simplify mod use in MP - leave the complex and confusing situation behind, get clear information and assistance to enjoy the new mods heaven


Versions

CDLC version

Currently bundled with:


Key Features

  • Detects your current active CDLC(s) and/or mods to show you only the relevant servers by default
  • Game mode focused server selection [QP] - looking for a specific game mode or experience is now easy-peasy
  • Recommended server set [SSB] - just want to play a quick game without hassle and you are open to try a new experience or server, you will be served a set of servers to choose from and hop into action
  • Filter customization [ASB] - looking for something very specific or choose from your own set of filter profiles, you can go as crazy now as you want
  • Rejoin servers easily [LS] - wanna continue where you left of last time or get back to your preferred server (next to the classic Recent/Favorites tabs)
  • Mod matching - the system will warn you ahead of time if you may not be able to join a given server and provides an overview mod mismatches
  • Various convenience features like Exclude Game Modes, Server History, Export Server Details, including links to website, Discord, qq, Teamspeak, or Connection Data (IP:PORT+PW) and Server Password Caching


Frequently Asked Questions

Can EMM be disabled?

Yes. In the main menu open Options - Extras:

  1. Vanilla main menu: Toggle between the native Arma 3 main menu and EMM main menu.
  2. Vanilla multiplayer menu: Toggle between the native Arma 3 multiplayer menu and EMM multiplayer menu.

Can EMM be used standalone?

Yes. The standalone mod version will available very soon.

Can EMM be combined with other mods?

Yes. Even more so it is meant to make mod use in MP easier with the likes of RHS, CUP, etc.

What servers are shown in the Simple Server Browser?

In general only servers with specific setup are shown deemed suitable for the average player:

  • No mods/Just CDLCs active
  • No password
  • BattlEye active
  • Not locked
  • Must be a dedicated server
  • verifySignatures system must be active
  • equal_mod_required=false
  • allowed_file_patching=0

See server config for details on these settings.

After above filtered set the system selects:

  1. Maximum 50 servers
  2. Based on their score
    1. 33-66% fullness in the same region
    2. If not enough, also outside the same region
    3. If not enough, also fullness below 33%
    4. If not enough, also fullness between 66 and 75%
    5. If not enough, also fullness above 75%
    6. If not enough, also full and empty
  3. The same result set is shared to all players from the given region
  4. The set is refreshed every 30-60 seconds

What servers are shown in the Quick play?

In general only servers with specific setup are shown deemed suitable for the average player:

  • No mods/Just CDLCs active
  • No password
  • BattlEye active
  • Not locked
  • Must be a dedicated server
  • equal_mod_required=false
  • allowed_file_patching=0

See server config for details on these settings.

How to have a custom game mode supported for Quick Play?

Anyone can submit a new game mode definition. Required are:

  • Identifier (max 7 characters - gameType used in description.ext)
  • Name
  • Image (1024x512 and 1024x256 as png)
  • Short description (max 156)
  • Long description (use paragraphs/basic formatting)

Optional:

  • Website URL
  • Wiki URL
  • Discord ID/URL
  • Twitter ID/URL
  • YouTube Video/Channel URL

This is best done via the official discord or the public gitlab project.

How to have a custom game mode image shown in Simple Server Browser?

The game mode needs to be supported by EMM. See the question above how to get it supported.

Is this real?

Yes

More to come?

Indeed

Support

Join our discord at: https://discord.gg/tYyeZXCtSx


Menus

The system replaces the original multiplayer menu and server browser of Arma 3. The following part provides an overview on the new menus and their functionality.

Quick Play [QP]

Quick Play is a game mode focused server selection. So you are looking for a specific game mode or experience, this is menu is your best choice.

Aside from basic filtering (Game Type, Difficulty) the main focus is to give a good overview of available game modes and to provide some information about the modes to get you started.

In a second step you can get to join a randomly selected server, or choose yourself from a basic server list.

Game Mode Selection

arma3 emm 1 qp overview.jpg
  1. Game Type: Select your preferred play
    • All
    • Player versus Player
    • Player versus Environment (AI)
    • Player versus Player versus Environment (AI)
  2. Difficulty: Choose your preferred level
    • Standard (Recruit, Regular, Veteran, Custom)
    • Hardcore (special level - still to be supported by the community)
  3. Game Modes: List of available game modes
  4. Game Mode Overview: Basic information on the game mode
    • Name
    • Image
    • Short description
  5. Players and Servers: Count for the given game mode
    • Includes all servers expect with password, BattlEye disabled, locked, non dedicated, equal mod required active or file patching enabled
    • The actual server list may show just a subset based on the active filters in the game mode servers submenu
  6. Official: The icon indicates if the game mode is coming from BI or CDLC partners (without means from community developers)
  7. Game Mode Servers: Click the icon or the game mode image to open the submenu to list the servers for the selected game mode
  8. Random Join Server: Click the icon to have the system select an active server for you instead
  9. Favorite: Click to make the game mode be shown at the start of the game modes list

Game Mode Servers

arma3 emm 2 qp list.jpg
  1. Game Type: Select your preferred play and brings you back to the Game Mode Selection
    • All
    • Player versus Player
    • Player versus Environment (AI)
    • Player versus Player versus Environment (AI)
  2. Difficulty: Choose your preferred level
    • Standard (Recruit, Regular, Veteran, Custom)
    • Hardcore (special level - still to be supported by the community)
  3. Game Mode Overview: Basic information on the game mode
    • Name
    • Image
    • Long description
    • Website
    • Wiki
    • Twitter account
  4. Server List: List of available servers for the game mode
  5. Activity column: Shows activity level, current player count and maximum players for the game mode/current mission
    • The activity level is based on current player count versus maximum players for the game mode/current mission - also called relative fullness or percentage
  6. Difficulty column: Shows overall and AI difficulty, as well as difficulty parameters (3rd person view, crosshair and advanced flight model)
  7. Mission Name column: Shows the name of the current mission
  8. Terrain column: Shows the terrain the current mission is on
  9. Server Name column: Shows the name of the server
  10. Quality column: Shows the quality level of the server and rough ping level
    • The quality level is currently based only on ping level, yet may get expanded to server performance
  11. CDLCs tickbox: When active, shows only servers running CDLCs the player has loaded
  12. Any Extra Mods tickbox: When active, shows also servers that have a different mods active than the player
  13. Signature Check tickbox: When active, shows only servers having the signature verification system active
  14. Matching Mods Only tickbox: When active, shows only servers having the same modset active as the player [very strict check]
  15. Refresh: Get the latest list of servers
  16. Favorite: Make the currently selected server a favorite
  17. Details: Opens the Server Details menu for additional information on the server
  18. Connect: Join the currently selected server - alternatively double click on a server in the server list

Note: Favorite, Details and Connect are also available via Right Mouse Button menu on a server in the list and selecting the desired option

Simple Server Browser [SSB]

The Simple Server Browser is simple server list selection. If you just want to play a quick game without hassle and you are open to try a new experience or server, this menu will serve you a set of servers to choose from and hop into action.

Aside from basic filtering (Official/Vanilla, Game Type, Difficulty) the main focus is to provide a simple server list of recommended, active servers to join from with your current CDLC/mod selection.

arma3 emm 3 ssb.jpg
  1. Server Type: Choose between Official and Community (Vanilla) servers
  2. Game Type: Select your preferred play and brings you back to the Game Mode Selection
    • All
    • Player versus Player
    • Player versus Environment (AI)
    • Player versus Player versus Environment (AI)
  3. Difficulty: Choose your preferred level
    • Standard (Recruit, Regular, Veteran, Custom)
    • Hardcore (special level - still to be supported by the community)
  4. Server List: Predetermined set of active servers - changes every xx seconds
  5. Activity column: Shows activity level, current player count and maximum players for the game mode/current mission
    • The activity level is based on current player count versus maximum players for the game mode/current mission - also called relative fullness or percentage
  6. Difficulty column: Shows overall difficulty level
  7. Preview column: Shows the image of the game mode
  8. Description column: Shows the short description for the game mode
  9. Game Mode column: Shows the Game Mode name, Terrain name and Mission name - (13) with mouse hovering shows also
  10. Region column: Shows the country the server is based in
  11. Quality column: Shows the quality level of the server and rough ping level
    • The quality level is currently based only on ping level, yet may get expanded to server performance
  12. Difficulty entry mouse hovering: Shows difficulty, as well as difficulty parameters (3rd person view, crosshair and advanced flight model) and AI difficulty
  13. Game Mode entry mouse hovering: Shows the server name of the current entry
  14. Region entry mouse hovering: Shows the country abbreviation and region
  15. Advanced Server Browser: Switch to comprehensive the server browser variant
  16. Refresh: Get the latest list of servers
  17. Favorite: Make the currently selected server a favorite
  18. Details: Opens the Server Details menu for additional information on the server
  19. Connect: Join the currently selected server - alternatively double click on a server in the server list

Note: Connect, Favorite and Details are also available via Right Mouse Button menu on a row in the server list and selecting the desired option

Advanced Server Browser [ASB]

The Advanced Server Browser is a full featured server selection. If you are looking for something very specific or want to choose from your own set of filter profiles, you can go as crazy now as you want here.

Aside from basic filtering (Official/Vanilla/Modded/Recent/Favorites/Friends, Game Type, Difficulty) the main focus is to provide as many filter options to narrow down the server list to what you are looking for. In addition it is to offer convenience features to master the complex filtering options.

arma3 emm 4 asb.jpg
  1. Server Type: Choose between:
  2. Official: Servers hosted by BI/CDLCs
  3. Vanilla: Community servers without mods (or just optional client side mods)
  4. Modded: Community servers requiring mods
  5. Recent: Lists the servers you last played on
  6. Favorites: Lists the servers you have bookmarked/set as favorite
  7. Friends: Lists the servers your Steam friends are playing on currently
  8. Game Type: Select your preferred play and brings you back to the Game Mode Selection
    • All
    • Player versus Player
    • Player versus Environment (AI)
    • Player versus Player versus Environment (AI)
  9. Difficulty: Choose your preferred level
    • Standard (Recruit, Regular, Veteran, Custom)
    • Hardcode (special level - still to be supported by the community)
  10. Server List: List of servers fitting the currently active filters (max 50 per page)
    • Activity column: Shows activity level, current player count and maximum players for the game mode/current mission
      • The activity level is based on current player count versus maximum players for the game mode/current mission - also called relative fullness or percentage
    • Difficulty column: Shows overall difficulty level
    • Game Mode column: Shows the Game Mode name, Terrain name and Mission name - (13) with mouse hovering shows also
    • Mission Name column: Shows the name of the current mission
    • Terrain column: Shows the terrain the current mission is on
    • Server Name column: Shows the name of the server
    • Quality column: Shows the quality level of the server and rough ping level
      • The quality level is currently based only on ping level, yet may get expanded to server performance
  11. Min-Max player filter: Enter number to set the minimum and maximum number of players for servers you want to see
  12. Text filters for Mission, Terrain and Server Name: Enter at least three characters to narrow down the server list - beware: very specific filter! don't forget to disable if no/too few result/not the desired results
  13. Server Pages: Hit the arrows to go to the next or previous page of servers - each page has 50 servers
  14. Activity State filter: Set what level you would like to have shown - note: you can combine multiple entries by holding CTRL or SHIFT while clicking
    • Full: Untick to hide full servers
    • Empty: Untick to hide empty servers
  15. Game Mode filter: Select one or multiple game modes to show only the servers running them - note: you can combine multiple entries by holding CTRL or SHIFT while clicking
    • Include/Exclude: Switch the filter from showing or hiding servers with the selected modes
  16. Server Difficulty filter: Select one or multiple difficulty levels to show only the servers with those levels
  17. AI Difficulty filter: Select one or multiple AI difficulty levels to show only the servers with those levels
  18. Difficulty settings toggles: Switch between Show Any, Show Disabled and Show Active modes to show servers only with the respective difficulty settings. See more at: Difficulty Settings
    • Third Person View
    • Weapon Crosshair
    • Advanced Flight Model
  19. Region filter: Select one or multiple regions or sub-regions to show only the servers located in those regions
  20. Quality filter: Select one or multiple quality levels show only the servers within those quality levels
  21. Server settings toggles: Switch between Show Any, Show Disabled and Show Active modes to show servers only with the respective server settings. See more at: Server Options
    • Passworded
    • Locked
    • BattlEye
    • Dedicated (vs home PC hosted)
  22. Mods filter:
    • CDLCs tickbox: When active, shows only servers running CDLCs the player has loaded
    • Any Extra Mods tickbox: When active, shows also servers that have a different mods active than the player
    • Signature Check tickbox: When active, shows only servers having the signature verification system active
    • Matching Mods Only tickbox: When active, shows only servers having the same modset active as the player [very strict check]
  23. Filter Presets: Store your custom filter settings by the desired name - To reset all filters open the Default profile
    • Save current settings as custom name set in the top input field
    • Open selected profile
    • Save current settings to active profile
    • Delete selected profile
  24. Simple Server Browser: Switch to the simplified server browser variant
  25. Refresh: Get the latest list of servers
  26. Favorite: Make the currently selected server a favorite
  27. Details: Opens the Server Details menu for additional information on the server
  28. Connect: Join the currently selected server - alternatively double click on a server in the server list

Note: Connect, Favorite and Details are also available via Right Mouse Button menu on a row in the server list and selecting the desired option

arma3 emm 4b asb.jpg

  1. Warning icon: Indicates that you may not join this specific server due to mod mismatch
  2. Warning message: Tooltip over the warning icon - provides more information as to why the warning is shown for the given server

Server Details [SD]

The Server Details menu provides all the vital information about the currently selected server in one screen. It can be helpful, if you want to have your friends join the same server or to share a server you had a great experience on social media or elsewhere.

In addition the menu exposed some additional information like Player List, Population History and Mod List.

arma3 emm 5 sd.jpg

Server Information:

  1. General: Basic information on the current server
  2. Technical: Specific information on the current server
  3. Website and social media channels: Links taken from the current server name [schema listed below]
  4. Mission Image and Description: Visual and textual presentation [currently shows Game Mode data instead of mission specific]
  5. [NOT YET IMPLEMENTED] Player List: Lists the players on the current server
  6. [NOT YET IMPLEMENTED] Population History: Shows the player activity graph or the current server [last 24 hours or last 7 days]
  7. Mod List: Lists the mods loaded by the client and those required by the current server - visually indicates mod mismatches [missing or not allowed]
  8. Copy All Details: Opens a dialog with all server information and the ability to copy to clipboard (Ctrl + V / paste action to insert into another application)
  9. Copy Connection Details: Opens a dialog with server ip, port and password and the ability to copy to clipboard (Ctrl + V / paste action to insert into another application)
  10. Refresh: Get the information for the current server
  11. Favorite: Make the current server a favorite
  12. Connect: Join the current server

Last Servers [LS]

The Last Servers elements in the Multiplayer menu are to allow you to rejoin servers easily you last played on. If you wanna continue where you left of last time or get back to your preferred server, this is made even easier now.

arma3 emm 6 ls.jpg

  1. Last PvP/PvE/PvPvE Server: Show the server you had joined successfully the last time for the respective game type
  2. Server Type
  3. Server Name
  4. Current Mission Name
  5. Current Game Mode
  6. Current Activity
  7. Current Quality
  8. Toggle element to hide/show the specific Last Server
  9. Copy Server Details to clipboard (Ctrl + V / paste action to insert into another application)
  10. Connect: Join the current server

Recent

Lists the servers you last played on.

arma3 emm 7 recent.jpg

Favorites

Lists the servers you have bookmarked/set as favorite. Favorited servers are shown with a yellow text color.

arma3 emm 8 favs.jpg

Friends

Lists the servers your Steam friends are playing on currently.

arma3 emm 9 friends.jpg

Direct Connect

Allows you to join a specific server via IP and Port.

arma3 emm 10 dc.jpg

  1. IP Address: Enter the IP address of the server to search for
  2. Port: Enter the port of the server to search for
  3. Search: Click the search button once IP and port have been set to start the query for the server
  4. Server information: Overview for the found server
  5. Connect: Join the found server

Host Server

Host your own local server to play by yourself multiplayer missions or to play together with your friends without a dedicated server.

arma3 emm 11 host.jpg

  1. Name: Set the name your server should be listed in the server list
  2. Port: Set the port to be used for the your server
  3. Max. players: Set the maximum number of players allow to join your server (optional)
  4. Password: Set the password clients have to enter when trying to join your server (optional)
  5. Host: Switch between LAN (local area network) and Internet accessibility for your server
  6. UPnP: Tick to activate Universal Plug and Play. This is an alternative to Port Forwarding. Must be supported by your router/modem. At times need to be also whitelisted by firewall or anti virus software.
  7. Host Server: Click the host server button to start your server
Activating UPnP on your router can pose a security risk - it is recommended to use Port Forwarding. For more information on UPnP check Server Behaviour.

LAN

Search for servers in your Local Area Network.

Note: EMM uses the standard Arma 3 menu and native engine functionality for LAN.

Server History

Lists all the servers you have successfully joined in the past.

arma3 emm 12 history.jpg

  • Server Name
  • Mission Name (when you played - not real time information)
  • Game Mode (when you played - not real time information)
  • IP:Port
  • Password (if any was active)
  • Last Joined

You can sort by any of the columns.

  • Remove: Remove the selected server from the server history
  • Copy Details: Copy the connection details for the selected server to clipboard (ctrl+v / paste action to insert into another application)
  • Show passwords: Show all passwords in the list


Server Admin

Whitelisting

To allow players to use EMM to join your server, you need to upload the EMM_DATE_TAG.bikey to the .\Arma 3 Server\keys folders.

There might be a new bikey for every release to allow server admins to discontinue support for older EMM versions.

Server Name Links

To have your Website/Teamspeak/Discord/QQ/YY be shown in Server Details, as Server Admin you can modify the server name for the custom tags to be recognized:

Website:

  • must start with http(s)://
  • must contain .
  • remainder must contain only VAL_ALPHANUMERIC2 chars
  • must contain only VAL_ALPHANUMERIC2 chars
  • must contain either at least 2 . or 1 . and at least 1 /

Teamspeak:

  • must start with one of the tags: "ts","tp-ip","ts3","ts3-ip","teamspeak"
  • followed by space or colon and space
  • can be URL or IP[:PORT]

Discord:

  • must start with http[s]://discord.gg[/] followed by NUMBERS or STRING
  • or discord.URL
  • or URL.discord.DOMAIN
  • or discord[:] STRING

QQ:

  • must match tag or start with tag
  • followed by number >100000

YY:

  • must match tag or start with tag
  • followed by a number


Technology

Mod:

  • Configs
  • SQF

Extension:

  • C++

Backend:

  • Python
  • Django
  • PostgreSQL

Monitoring:

  • Graylog
  • Grafana

Infrastructure:

  • Ansible
  • Terraform
  • Scaleway
  • Cloudflare

System Design

WIP

Open Source

Type Plan Timeframe Repository
Mod Will become fully open source Near term TODO
Extension May become fully open source Near term TODO
Backend May become partially open source (limited by sensitive nature) At some point N/A
Monitoring May become fully open source Near term TODO
Infrastructure Cannot become open source due to sensitive nature Never N/A


License

TODO


Join the development

TODO

Join our discord at: https://discord.gg/tYyeZXCtSx


Team

  • A. Roman - EMM API extension (C++)
  • ConnorAU - system design (frontend), visual designer, EMM mod (Configs, SQF)
  • Dscha - prototype of EMM mod (Configs, SQF)
  • Heyoxe - backend monitoring (Graylog, Grafana), EMM mod assistance
  • jaaziar - visual design assistance
  • jokoho482 - continuous integration
  • kju - team and project organization, system architect and design (frontend), visual designer, EMM mod (Configs, SQF)
  • Stack - system architect and design (backend), backend developer (Python, Django, PostgreSQL) and infrastructure management (Ansible, Terraform, Scaleway, Cloudflare)
  • Terra - EMM mod assistance (Configs, SQF)

Consultants

  • TeTeT
  • Spoffy
  • Dahlgren
  • OfotViking


Acknowledgements

  • Dedmen - extension code reviews
  • Dwarden - advice and assistance
  • Burns - visual design review
  • Defunkt - visual design advice
  • Frameworks/Tools used:
    • TODO