Announcement

Collapse
No announcement yet.

Attention Map Makers: Format for posting your map *Read First*

Collapse
This is a sticky topic.
X
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Attention Map Makers: Format for posting your map *Read First*

    Being that this game is pre-alpha a lot of the built in features that will make this game easy to run on servers come full release are not yet available. Admins running servers need to make several changes and verify a bit of information before we are able to successfully run your custom map on one of our servers. For me at least, this generally means that unless your map looks really well done, chances are I am not going to bother with the process of setting it up on my server. Ive wasted hours setting up maps that ultimately were flawed and or had issues that forced me to take them down.

    So being that, you as a map maker can help us server hosting guys by doing a few simple things that will ensure a broader distribution of your map on customer content servers. The vast majority of the information we need, you as the map maker already have. We really need 2 big pieces of information, 3 if you want to be generous.

    1. The file path! When you cook your map, the file path of where to find the map information is based on where you saved the map within YOUR UT folder. Some mappers try to stick to a standard of /Game/Content/RestrictedAssets/Maps/CTF-Example.umap. Others however will follow their own structure path like /Game/Content/CTF-Thorns/CTF-Thronsv999129.umap. When we are setting up our servers to run your map, we NEED to know this path. We can determine it using several outside methods, but ultimately if you just posted that path when you post your map, it would save us a ton of time.

    2. A valid http download site. Please do not post links to download your map using dropbox or have the file in a zip folder. The map is already compressed in the .pak no need to zip it further. When we setup our servers, we need to create a redirect statement that tells people joining our server to play your map exactly where they can download it from. The majority of people use https://redirect.mpforums.com/ut4/, its free and fast. So when you post a link in your post to download your map, please try and use this hosting service or something similar. If we cant go to http://website/something/ctf-yourmap.pak and download it, we cant host it on our server using your link. If we need to click on a link similar to an acceptance agreement, we cant use the link. Which means we then need to rehost your map somewhere else to use it on our server.

    3. The third one I dont expect many people to have but if you do its a nice extra help. Every map hosted on a server needs an MD5 hash calculated for it. This is used so that a client can tell if they have the exact same version of a map on a server. If the hash on the server matches the hash for the file they have, they dont download it. If they dont match, they download the file. There are some easy and free programs available, I personally use "WinMd5". This takes just a few seconds to run but again, if you include this with your map when you post it, it saves me time and makes me more likely to host your map.

    So here is an example of what we need when hosting a custom content map:

    RED=FILE Path on the computer where your .umap was stored when the .pak file was created.
    GREEN= The name of the .pak file after its been cooked.
    ORANGE=The web URL where people can go to download your file, make sure you DONT include the http/https in the this line.
    BLUE=The MD5 Checksum, calculated based on the .pak file of the map.

    MapRotation=/Game/RestrictedAssets/Maps/CTF-MAPNAME/CTF-MAPNAME
    RedirectReferences=(PackageName="CTF-MAPNAME-WindowsNoEditor", PackageURLProtocol="http", PackageURL="ut.rushbase.net/payback/CTF-MAPNAME.pak", PackageChecksum="1dd9d691d72e7348769d4e513b68011d")

    If you provide the information in exactly this format when you post a map, it will take me all of 2 minutes to include your map on my hub. If you dont do this, unless you have a really good looking map with lots of good reviews, chances are most server admins will just skip over it. We are getting a lot of new maps posted daily, the map making community could literally save the server hosting guys hundreds of hours a week by posting this simple information that they already have.

    For the rest of your post regarding your map, lots of pretty pictures and descriptions along with design insight is great.


    Relevant Links:
    https://redirect.mpforums.com/ut4//
    http://www.winmd5.com/

    **Update**

    It seems some people are having trouble understanding the file path and why it is needed. When UT cooks a map it creates a snapshot/archive folder of all the content that is used to build that map. All this content must reside within the "Content" folder of UT. So it doesnt matter what hard drive or what name you used for your UT folder, all that matters is the file structure after the "Content" folder.

    For example I have the UT Editor installed here C:\UnrealTournament\UnrealTournamentEditor\UnrealTournament\Content\. That means everything I use to build a map, will be stored within the UT file structure somewhere inside the "Content" folder. For example C:\UnrealTournament\UnrealTournamentEditor\UnrealTournament\Content\MYMAP\MyMAP.umap. In the world of UT everything that it ever uses to present the world, things like textures, static meshes, maps and so on, must live inside the "Content" folder. So as far as UT is concerned, it doesnt care where you install the game or the file path that exists before the "Content" folder. All that matters it that "Content" folder and whats inside of it. So when you cook a file, you create a pak file that is nothing more than a compressed archive of all the static meshes, textures, umaps that are used to create the map. All of this stuff exists within the "Content" folder. So to save space/time and how the game is programmed that means C:\UnrealTournament\UnrealTournamentEditor\UnrealTournament\Content\ = /Game/.

    So lets use an example

    I have a map that I am working that I have saved locally at this location:
    C:\UnrealTournament\UnrealTournamentEditor\UnrealTournament\Content\MYMAP\MyMAP.umap

    When I cook the map, the only thing UT cares about is what is inside the Content folder. This includes things like static meshes, textures and the .umap file itself. All those things are cooked into the pak file. So looking below, the Italics parts dont matter to the server admins or to UT, what matters is the bold part.
    C:\UnrealTournament\UnrealTournamentEditor\UnrealTournament\Content\MYMAP\MyMAP.umap

    So once the map is cooked, I need to know how do I find that umap file within the .pak file. Since it only cares about the path once inside the content folder the path to that I need to tell my server on where to find the umap is
    /Game/MyMap/MyMap.umap.

    If for example I saved my map to the following location
    C:\UnrealTournament\UnrealTournamentEditor\UnrealTournament\Content\RestrictedAssets\Maps\MYMAP\MyMAP.umap

    Then to tell the server where to find the umap I would use
    /Game/RestrictedAssets/Maps/MyMap/MyMap.umap

    C:\UnrealTournament\UnrealTournamentEditor\UnrealTournament\Content\ = /Game/

    It doesnt matter where you installed the game or what your file path looks like on your computer. All that matters is that you tell us the file path after the content folder. The admins need to be able to tell the server where to find the .umap file inside the .pak file. This file structure is a copy of your file structure on your computer that exists after the "Content" folder. That is why we need you to tell us how you structured the pak file.
    Last edited by PayBack; 07-15-2016, 08:43 PM.

  • replied
    ok cool thx. we are a bit confused because i released a new version and we updated the md5 but the players are not downloading the new file even though the md5 is now different

    Leave a comment:


  • replied
    Originally posted by Crocopede View Post
    so an admin requested i give them an md5.
    i checked n checked my map. there is no md5 referenced. so i must generate a random md5 and give it to him? Whats the point. how will it know the map is the same... where is the md5 referenced?
    https://en.wikipedia.org/wiki/MD5

    This is not an Unreal thing, this is a common file integrity check. The algorithm takes the map and using the data it produces a 32 digit hex string. But it's not random like you said, it will produce the exact same result each time using a given identical file. But if even a byte in the map file is changed it will affect the resulting string. This is the server's way of verifying that every player has the exact same map. http://www.winmd5.com/ can be used to generate an MD5 from your pak file.
    Last edited by tidu; 04-21-2016, 12:20 AM.

    Leave a comment:


  • replied
    so an admin requested i give them an md5.
    i checked n checked my map. there is no md5 referenced. so i must generate a random md5 and give it to him? Whats the point. how will it know the map is the same... where is the md5 referenced?

    Leave a comment:


  • replied
    While all of this stuff was hell for me when I started running the HUB, I'm pretty quick at it now. I find it much more efficient to add / update a bunch of maps in bulk then to do them one by one. I think if mapmakers do what's suggested here, I'll still double check their work, which is the same as doing the work myself, so I might as well keep doing it. Especially since it is kind of complicated, I'm already experienced with it, and I don't want to have to add/update 8 maps and then take the time to troubleshoot if a mapmaker gave me the wrong .ini info for their map.

    What would help is if everybody posted their most recent version in their Original Topic thread. I really have to dig to find updates! Most users do actually update in the topic thread of their post, but many do not. When combing for updates, I sometimes have to dig through several pages just to see if there is an update. Sometimes, the Original Topic will say that the most recent version is v.11 but post #34 reveals a v.12 with a new download link. Or, the Original Topic states that the latest version is .11 with a link, but upon clicking the link you are taken to v.12

    ... at any rate, sniffing out updates is what I dread the most. If you make it easy and keep post #1 updated, I'd have more time to update maps more often!

    Oh, and please use version numbers to avoid conflicts and nav meshes so players can try your map with one bot while waiting for others to join.

    Leave a comment:


  • replied
    Originally posted by _Lynx View Post
    Problem is that pak does not have any registry that says "umap file is stored here", so the server needs an exact path to umap inside the pak. Since server cannot extract it itself, it has to be specified by admin, which in turn means that admin has to check that pak file and extract that information, a quite tedious and lengthy process. Yet for a mapper to provide this info it's just another 30 seconds.

    I think I got it now....maybe

    Cheers

    Leave a comment:


  • replied
    Originally posted by GreyNick View Post
    I see, so the game looks into the PAK for the folder PINK and pulls the asset from there. If that is the case why do you still need the local path if all the info is in the PAK?
    Problem is that pak does not have any registry that says "umap file is stored here", so the server needs an exact path to umap inside the pak. Since server cannot extract it itself, it has to be specified by admin, which in turn means that admin has to check that pak file and extract that information, a quite tedious and lengthy process. Yet for a mapper to provide this info it's just another 30 seconds.

    Leave a comment:


  • replied
    I think I'm gonna do it by first posting my map announcement and then posting the Server Admin info in the first reply, which can be easily updated as new versions are released. Right now the first reply looks like:

    Server Admin Stuff for 10/27/2015 build:

    MapRotation=/Game/Maps/CTF-Highpoint/CTF-Highpoint-v010
    RedirectReferences=(PackageName="CTF-Highpoint-v-102715-WindowsNoEditor.pak", PackageURLProtocol="http",
    PackageURLProtocol="http", PackageURL="ut.rushbase.net/Whippersnapper/CTF-Highpoint-v-102715-WindowsNoEditor.pak"
    PackageChecksum="3c4e0b980a9441a4bdbda1064508888d")

    File Path on My Computer: D:\UT4 Editor\UnrealTournamentEditor\UnrealTournament\Content\Maps\CTF-Highpoint\CTF-Highpoint-v010.umap

    My Rushbase: https://ut.rushbase.net/Whippersnapper Map Direct Download link: https://ut.rushbase.net/Whippersnapp...wsNoEditor.pak

    Leave a comment:


  • replied
    Originally posted by WHIPperSNAPper View Post
    OK, so is this how you want it, Jay? Here's the goods for my newest map, ready for release as of today (formal announcement coming soon):

    MapRotation=UnrealTournament/Content/Maps/CTF-Highpoint/CTF-Highpoint-v010.umap

    RedirectReferences=(PackageName="CTF-Highpoint-v-102715-WindowsNoEditor.pak", PackageURLProtocol="http",

    PackageURLProtocol="http", PackageURL="ut.rushbase.net/Whippersnapper/CTF-Highpoint-v-102715-WindowsNoEditor.pak"

    PackageChecksum="3c4e0b980a9441a4bdbda1064508888d")

    File on my computer: D:\UT4 Editor\UnrealTournamentEditor\UnrealTournament\Content\Maps\CTF-Highpoint\CTF-Highpoint-v010.umap

    My Rushbase: https://ut.rushbase.net/Whippersnapper Map Direct Download link: https://ut.rushbase.net/Whippersnapp...wsNoEditor.pak
    Everything looks good except for the map rotation. Replace "\UnrealTournament\Content\" with "/Game/". Also you dont include the .umap extension on the end as the game already knows its look for a .umap file.

    It took me a little to wrap my head around as this is something that as a non programmer or anything else I never encountered before. But think of it this way. When UT launches and starts running it has its own world. Everything that is presented for you to see in this world resides "D:\UT4 Editor\UnrealTournamentEditor\UnrealTournament\Content\". So as far as the game is concerned, the only place it will ever look for information on how to build its world, it will find it inside the Content folder. UT does not care about anything else or any other location on your computer to find content that is used to build the UT world. Because of this, anytime you are referencing something that will be used and presented as the world of UT, you can shorten it to /Game/. Using "/Game/" is the same thing as using "D:\UT4 Editor\UnrealTournamentEditor\UnrealTournament\Content\", however in the UT world, you MUST use "/game/".
    Last edited by PayBack; 10-28-2015, 09:04 AM.

    Leave a comment:


  • replied
    Originally posted by GreyNick View Post
    Thanks, so if I understand this right, if I put asset in somewhere odd i.e. a folder called PINK then when players down load the map off the server they end up with a folder called PINK? If so this could get very messy
    No. pak files are just archives containing the umap files and a bunch of other stuff... The folder PINK would be inside the pak file and contains I dunno, probably elephants or something.

    Originally posted by GreyNick View Post
    I see, so the game looks into the PAK for the folder PINK and pulls the asset from there. If that is the case why do you still need the local path if all the info is in the PAK?
    The umap file references everything else relative to it's own path. The engine doesn't know the path to the umap so you have to tell it where the umap is. Once it knows that it can find everything else.
    Last edited by MoxNix; 10-28-2015, 06:24 AM.

    Leave a comment:


  • replied
    Originally posted by _Lynx View Post
    No, user just get the same pak file, however that PINK folder will exist inside the pak.

    I see, so the game looks into the PAK for the folder PINK and pulls the asset from there. If that is the case why do you still need the local path if all the info is in the PAK?

    Leave a comment:


  • replied
    Originally posted by GreyNick View Post
    Thanks, so if I understand this right, if I put asset in somewhere odd i.e. a folder called PINK then when players down load the map off the server they end up with a folder called PINK? If so this could get very messy
    No, user just get the same pak file, however that PINK folder will exist inside the pak.

    Leave a comment:


  • replied
    Originally posted by barsam2a View Post
    Fortunately not, all downloaded maps end up in C:\Users\admin\Documents\UnrealTournament\Saved\Paks\DownloadedPaks

    no Expert here
    , but this is the path-file my downloaded maps from various servers show up (ALL of them, regardless if DM-xxxx.pak or CTF-xxxx.pak)
    and looks like it, that also custom gamemodes get saved there. (like LTS-GameMode-WindowsNoEditor.pak)
    If that is the case why is the local path needed? I'm trying to understand the issue.

    Leave a comment:


  • replied
    Originally posted by GreyNick View Post
    Thanks, so if I understand this right, if I put asset in somewhere odd i.e. a folder called PINK then when players down load the map off the server they end up with a folder called PINK? If so this could get very messy
    Fortunately not, all downloaded maps end up in C:\Users\admin\Documents\UnrealTournament\Saved\Paks\DownloadedPaks

    no Expert here
    , but this is the path-file my downloaded maps from various servers show up (ALL of them, regardless if DM-xxxx.pak or CTF-xxxx.pak)
    and looks like it, that also custom gamemodes get saved there. (like LTS-GameMode-WindowsNoEditor.pak)
    Last edited by barsam2a; 10-28-2015, 05:58 AM.

    Leave a comment:


  • replied
    Never did understand why the archive header doesn't have a field containing the path to the umap. Then the game and server could simply read the path from there and server admins would have one less thing to worry about.

    A bit trickier to implement well but the server could automatically generate MD5 hashes for maps too... Regardless if there's a redirect path for it in the configs or not. Might not be a bad idea to check the hash to prevent version mismatches between the server and client too.
    Last edited by MoxNix; 10-28-2015, 05:59 AM.

    Leave a comment:

Working...
X