Running User-Made Maps (UMM) on Your Hosted Server

{IRISH}Maximus{IRISH}Maximus Posts: 40Player
edited November 2017 in Server Support
The following is derived from the excellent work of -SD-DELTON, and the contributed wisdom of (Beer_me)lobo and Keebler750. It is only replicated and consolidated here because I keep getting asked how to do it ... having just struggled through it all recently myself.
The following scenario is based on a server rented from GameServers.com, but process and the directory layout should be very similar for any game host.

1. Figure out the steam workshop file ID for the map(s) you want to run.
Use a web browser to visit the Steam Workshop. As you find maps you like in the America's Army: Proving Grounds workshop, make note of the browser URL. For example here's the URL for Steam Workshop page for CSAR2:

https://steamcommunity.com/sharedfiles/filedetails/?id=267728689

Take note of the ?id=267728689 in the URL. 267728689 is the steam workshop file ID that uniquely identifies the CSAR2 User-Made Map. You will need to find the file id for the map(s) you want to run on your server.

2. Add the file IDs to your server's AASteamUGCManager.ini
Edit the ../aapg/AAGame/Config/AASteamUGCManager.ini file on your server. Add a ServerSubscribedItems line referencing the steam workshop file ID under the [SteamUGCManager.SteamUGCManager] section in the AASteamUGCManager.ini for each map you want to run. For the CSAR2 map the ServerSubscribedItems line looks like this:
ServerSubscribedItems=(IdString=267728689)

Here is an example of an AASteamUGCManager.ini that is loading CSAR2 as the only UMM:
[SteamUGCManager.SteamUGCManager]
; CSAR2 <- this is a comment
ServerSubscribedItems=(IdString=267728689)

[AALauncher.ClientSettings]
Connection=true

[AALauncher.ServerSettings]
IPAddress=dhcp
SteamPort=80-200,42
GamePort=200-250,300-350,9
QueryPort=400-402,408-900,456456456
GameVersion=1.0.0.0

[AALauncher.LogSuppressionDefaults]
SuppressedLogEntry=SteamUGCManager
SuppressedLogEntry=TriggerSteamUGCMapsUpdate

[IniVersion]
0=1479741085.000000

Save the file when you are done editing it.

3. Restart your server and let it download the files from the Steam Workshop
Restart the server. When the server starts up it will read the AASteamUGCManager.ini and attempt to download the map for each ServerSubscribedItems entry in AASteamUGCManager.ini from the steam workshop (this could take a while). For each map the server can find on the steam workshop it will create a sub-directory named for the map's file ID, and in that sub-directory it will download the associated .umap file and the and .metadata file. For the CSAR2 map the server created the following:
../aapg/Binaries/Win32/steamapps/workshop/content/203290/267728689/
../aapg/Binaries/Win32/steamapps/workshop/content/203290/267728689/CSAR2.metadata
../aapg/Binaries/Win32/steamapps/workshop/content/203290/267728689/FLO_CSAR2$76561197971401004_ac.umap

You can play on the server while it is downloading the maps.

You can check the progress of the downloads by reviewing the server's log file. On GameServers.com the aapg server log is located here:
../aapg/AAGame/Logs/AAServer.log

4. When the server has finished downloading the file(s), restart it again.
Restart the server. When the server starts up this time it will read through all the directories under ../aapg/Binaries/Win32/steamapps/workshop/content/203290/ looking for .umap files and it will build the list of all the valid maps loaded on the server.

Players connecting to your server will be prompted to download any UMMs you have loaded on the server that they are not already subscribed to in their steam account. If they say yes when prompted to download, they will be automatically subscribed to all the UMMs on your server and steam will automatically manage downloading the maps to their machine.

5. Connect to your server with your game and login as an admin.
Connect your game to your server and login to the Admin Panel. You should now be able view and switch to any map loaded on your server from the Switch Map menu.

6. [optional] Edit your server's AAGame.ini to add the loaded UMMs to the MapRotationList
You can choose to add UMMs to your server's map rotation. The Map Rotation is the list of maps the server will cycle through if the next map is not explicitly changed by a map vote or by an admin. The server's map rotation is controlled by MapRotationList lines a section named [AAGame.AADataStore_OnlineGameSearch] in the server's AAGame.ini file. The MapRotationList line is set equal to the name (without the ".umap" extension) of the map file; for CSAR2 the map file name is FLO_CSAR2$76561197971401004_ac.

Here is a [AAGame.AADataStore_OnlineGameSearch] configured to include the CSAR2 UMM in the map rotation for the server:
[AAGame.AADataStore_OnlineGameSearch]
MapRotationList="FLO_CSAR2$76561197971401004_ac"
MapRotationList=FLO_Bridge_EX
MapRotationList=FLO_BridgeNight_EX
MapRotationList=FLO_CabinFever_TH

Save the file and restart the server for the changes to take effect.

7. [optional] Edit your server's AAGame.ini to add the loaded UMMs to the MapVoteList.
You can choose to add UMMs to your server's player vote list. The Map Vote List is the list of maps players on the server can call a vote for. The server's map vote list is controlled by MapVoteList lines a section named [AAGame.AADataStore_OnlineGameSearch] in the server's AAGame.ini file; the MapVoteList lines appear after the MapRotationList lines, and by convention they are listed in alphabetical order. The MapVoteList line is set equal to the name (without the ".umap" extension) of the map file; for CSAR2 the map file name is FLO_CSAR2$76561197971401004_ac.

Here is a [AAGame.AADataStore_OnlineGameSearch] configured to include the CSAR2 UMM in the vote list for the server:
[AAGame.AADataStore_OnlineGameSearch]
MapRotationList="FLO_CSAR2$76561197971401004_ac"
MapRotationList=FLO_Bridge_EX
MapRotationList=FLO_BridgeNight_EX
MapRotationList=FLO_CabinFever_TH
MapVoteList=FLO_Bridge_EX
MapVoteList=FLO_BridgeNight_EX
MapVoteList=FLO_CabinFever_TH
MapVoteList="FLO_CSAR2$76561197971401004_ac"

Save the file and restart the server for the changes to take effect.

[NOTE: Not all UMMs can be selected for a player vote ... I do not know what makes a map votable or not.]

Comments

  • {IRISH}Maximus{IRISH}Maximus Posts: 40Player
    Other resources ...

    Official Guide to Hosting a Server with User Made Maps. http://steamcommunity.com/sharedfiles/filedetails/?id=656041282

    Guide for running a UMM server
    https://forum.americasarmy.com/discussion/4328/guide-for-running-a-umm-server
  • =[O2K]=.kinDIACT=[O2K]=.kinDIACT Posts: 15Player
    Once it's downloaded do I take the commands out of the AASteamUGCManager.ini config? And can I have more then 1 going at once?
  • Keebler750Keebler750 Posts: 3,249Beta Tester
    The game will remove the UMM from the server if you remove or comment out ( ; ) the map in that text file.

    You can have lots of UMMs there at a time.

    The actual maps get downloaded to /Binaries/Win32/SteamApps/Workshop/Content I think...?
    ______

    This has been a test of the emergency flame-fest system. Please do not adjust your set.
  • -SD-DELTON-ACI--SD-DELTON-ACI- Posts: 1,337Player
    Once it's downloaded do I take the commands out of the AASteamUGCManager.ini config - NO

    And can I have more then 1 going at once - YES

    Sorry can't use quote on here with IE11 .
    https://www.souldefenders.co.uk
    -SD-Souldefenders FunHouse-ACI-
    -SD-InnerHospital 24/7No Sniper-ACI-
    BC1NPiE.jpg
  • =[O2K]=.kinDIACT=[O2K]=.kinDIACT Posts: 15Player
    Where do I find the name of the maps to put in rotation?
  • =[O2K]=.kinDIACT=[O2K]=.kinDIACT Posts: 15Player
    Its creating .bin files not map files
  • -SD-DELTON-ACI--SD-DELTON-ACI- Posts: 1,337Player
    C:\Steam\steamapps\workshop\content
    Make sure your subscribed to the maps before going to folder =)
    https://www.souldefenders.co.uk
    -SD-Souldefenders FunHouse-ACI-
    -SD-InnerHospital 24/7No Sniper-ACI-
    BC1NPiE.jpg
  • (Beer_me)lobo(Beer_me)lobo Posts: 609Player
    Its creating .bin files not map files

    then they are outdated maps
  • SpellbinderSpellbinder Posts: 8Player
    I have done pipeline but do not get them working on my server and have done everything as far as I know.
    Mss that I'm doing something without me seeing or knowing.
    Could someone please help?
  • [TNT]^DoubleX^[TNT]^DoubleX^ Posts: 9Player
    When I change the map, it is giving error.

    TcpNetDriver_o Shut down
  • Keebler750Keebler750 Posts: 3,249Beta Tester
    NetDriver_0 is not an error, it's a status.....'lost connection'

    So, you need to dig into your connection and ports, I'd say....we don't have Auth anymore, so it can't be that.

    What does your start up command line look like for the server, minus personal details?
    ______

    This has been a test of the emergency flame-fest system. Please do not adjust your set.
  • [TNT]^DoubleX^[TNT]^DoubleX^ Posts: 9Player
    Keebler750 wrote: »
    NetDriver_0 is not an error, it's a status.....'lost connection'

    So, you need to dig into your connection and ports, I'd say....we don't have Auth anymore, so it can't be that.

    What does your start up command line look like for the server, minus personal details?

    I only have NetDriver_0 when are umm maps

    "C:\Program Files (x86)\Steam\steamapps\common\America's Army\AAPG\Binaries\Win32\AAGame.exe" server BDX_Breach_EX /MULTIHOME=192.168.1.225 /NOPAUSE /NOHOMEDIR /CONFIGSUBDIR=AAHostAServerConfig-tnt2018 -SAP=7780 -SQP=27015
Sign In or Register to comment.