MeatROme | 2006-05-14 12:27
HOW-TO : package content for Quadropolis

Are you planning to upload some content to Quadropolis - Great! Read on!
The Cube Wiki article Distributing Maps contains the original text of this guide;
This deals with the specifics of Quadropolis postings.
It tries to prepare you for providing poished content to the community and avoid any unwanted tags, maybe even get you a starred content one. ;-)


Apart from the must-read part on proper packaging there's a lot more information on this topic, feel free to read those at your leisure.

  1. Quadropolis Nodes - for the technically inclined
  2. Use ZIP files - the default argument
  3. correct ZIPping - the must read
  4. OS look-out-for's - operating system caveats
  5. optional content - the nice to have elements

    1. Make a good screenshot - both for the node as for games that use it in-game
    2. Have a README - why have one, what to call and where to put it
    3. Have a Way-Point file - why have one, what to call and where to put it
  6. Beware of OS caveats - the most common problems

Quadropolis Nodes

Quadropolis uses a number of paradigms to serve differently formatted media-packages for Cube Engine games of a number of flavours;

The top-level paradigm "node" is wether your media is a Map - this might need to include more than the actual *.cgz, *.ogz or whatever extension your MOD uses, actually - or whether it's a MOD - that might mean anything from some basic content modding up to a full-blown total-conversion - or if it's a Script addon.
The Scripts currently might need to be refactored; while they were actually thought for CubeScript Only there's a number of early nodes there that should be MODs - please put non-CubeScript scripts into MODs yourself, thanks!

The node paradigm results in a type-specific container which will hold a number of attributes.
So you will want to present users with a screenshot of your map or mod .. but traditionally scripts don't have one.
maps will want to be categorized by the different gamemodes (e.g. a Capture-only map or even a gamemode only available in a quadropolis supported mod (e.g. CTF for AC)), or size (for 4 players, 16 players ..).
A mod will need to flag the operating-systems it's for.
Please take care when filling out the form for an upload - incorrect settings here are often reason for complaint, really pick the right choice/choices for each field! Especially Licensing has repeatedly been assigned incorrect values.

Don't forget to check display of your new node, e.g. after having logged out .. to see it's showing up everything;
you can always click on "edit" when viewing nodes you posted (of course being logged in again),
and fix up any or all the field settings .. if you want to update your node with a new file for example :)

Use ZIP files

Even if it's just a single map!
Do not use any other packaging software; ZIP is universally available.

Always package content so that it can be extracted directly into the installation folder;
this explains why even a single map file should be zipped (they should be in the subfolder packages/base/ inside the ZIP (or equivalent for non-sauerbraten games))... maybe the only exception to this zipping rule would be a very simple script - one that will either be called directly from autoexec.cfg (or even be copied into it), since they would best be placed directly in the installation folder anyway.

Don't replace content! There is always a way to make your content sit side-by-side with the regular stuff,
if you actually do need to replace stuff (models come to mind) then just add information about how to switch to and fro in your README.

correct ZIPping

Remove all cruft from it too before uploading, just the content and a readme should be in it.
Don't include any hidden files of your system ... like those Windows and MacOS like to create - but *Nix users should watch out too! Remove them from the ZIP-file after zipping if you can't prevent them from going in in the first place. Also do not name your ZIP-file
A good naming convention can be:
For a map called The Arena Of Splatz, filename: splatza would work very well as with


Your ZIP should be structured something like this:
or see a fully expanded version.

operating system (OS) look out for stuff

On linux I can recommend using a file with a line for each part to be included in the zip and then
calling something like zip -r -i@my_files ./ from the installation folder.


On Windows XP (or later) ZIP is integrated into your FileManager (Explorer).
Unless you're using a more elaborate GUI capable of compressing into classic WinZIP format I'd suggest the following procedure to create a clean upload:

Create a folder for your download - imagine this to be the folder sauerbraten is installed into;
place a README_theFileName.[html/txt] into this folder.
Depending on what you are distributing you should add appropriate subfolders like packages/theFileName or packages/base and/or whatever needs to be added to a vanilla sauerbraten installation to use your upload.
When everything is in place go to the folder with your README and mark everything (Ctrl + A),
then right-click on the README and "send to ZIP-compressed folder".

For MacOS the following programs have been mentioned on the forum.

Thanks to Halleck
MacZipIt, which seems to work well via simple drag-n-drop.
Thanks to MovingTarget
article about dot_clean in the hope Mac users will find it useful.
Only once and I have not heard any feedback about it - clean archive.

Nice To Have

These aspects may be optional and/or required - this depends largely on the target engine, but can also be due to the very nature of your node;
you should have some good idea of what would go as using common sense simply by examining other nodes on quadropolis - pick one w/o packaging issues and with probably highly rated content, don't just rely on one ZIP though - examine as many as you can.

Make a good screenshot

For content nodes that require a screenshot please take some care in creating it.
Take a look at the subline of the screenshot-form-element in the upload-form to see current limitations,
at the time of writing these were 1024 KB maximum file-size and 640x480 maximum dimensions.
JPG or PNG should be the formats of choice and reducing file-size as much as possible a courtesy to the community :)

Consider using the Pretty Screenshot (by MeatROme [2006-07-05 17:05]) script to avoid ugly output as well as the HUD and hudgun to clutter that extra nice viewpoint you've chosen for your map. A much more recent Script (by RaZgRiZ [2011-07-26 09:58]) is Q-Screen, so check that out!
To shoot from angles where you can't stand on geometry consider switching to gamespeed 10 - that way you don't get the editmode stuff on your screenie ;)
The regular screenshot is usually too dark,
consider using channel-mixing techniques to enhance the image so it shows up better!
In-Game settings can also enhance your screenshots - e.g. fullscreen shaders (bloom, ..), FOV but not gamma!


It's always a good idea to include a readme, usually named something like README_mycontent001.txt;
place information in there about creation date, contact information (nice-to-have not must-have) and
anything pertaining to how to use your work with the engine.
For the self-check to work the map filename in the ZIP must be different than the wip_mapname_023 - Work-In-Progress - editing filename was .
You should try out your own zip by extracting it into your own game-home-DIR - see the where is my home FAQ on our wiki.

Have a Way-Point file

It's recommended you provide a .wpt, or whatever waypoints get saved as in your game.

thanks to Quin (2010apr03)
BloodFrontier, for example, saves them directly into it's map-file, so there's no extra file in such package-ZIPs.
Way-Point creation - for the record - it's not very difficult. Type /dropwaypoints 1 and run around the map, being sure to avoid complicated moves that the bots cannot handle (rifle/rocket/grenade jumps, etc), in Sauerbraten type /savewaypoints when you are done, or in Blood Frontier simply type /savemap.

Beware of OS caveats

You should be aware that not everyone out there is running the same OS (operating system) as you are.
Especially variations on upper-/lowercase can be a problem here,
even if your Windows loads the textures fine with the file being image.JPG but the map-CFG loading IMAGE.jpg - it won't work on systems that are aware of case in their filenames (Unix, Linux, Mac OS X, ...) - your safest bet is to always go for lowercase filenames ... and check the extensions (some systems blend them out by default).
Another pitfall can be using weird characters in your filenames - even spaces can be quirksome - please avoid them.

request for help by MeatROme (2010apr03)
People really ignore the size-increase and cross-platform-nonsensicalness of leaving files like "Thumbs.db" or "._DS_store", "__MACOSX"-directories lying around.
There are many explanations out there to help you do this.
I'd be more than happy to provide per-OS-HowTo's at this point - with due credit to the author -
so as to improve on the helpfulness of this node.

All this is to avoid you getting comments like

  • "Where do I put this?" - all packages on quadropolis work the same for their target engine
  • "There's a "texture missing" error ..." - your package is both self-check and backup in one
  • "Why are so many walls not textured?" - see above
  • "Why can't I hear the music?" - see above
  • "Please fix your node!" - either tagged 'packaging error' or referenced in a comment

If you adhere to the guidelines above you should be safe just pointing newcomers here - or the user guide.
The examples are fitted for Sauerbraten content,
the other games are sufficiently similar, or will be commented on in appropriate sections.
BloodFrontier needs no extra .wpt, AssaultCube has packages/maps base directory, stuff like this.

User login
Users on Quadropolis
4 guests & no users online
points ]
 (9 votes)
Created 2012-07-01 13:12
4 years 33 weeks ago
Created 2017-02-02 00:22
2 weeks 5 days ago
Created 2017-01-28 22:59
3 weeks 2 days ago
points ]
 (22 votes)
Created 2012-10-20 09:56
4 years 17 weeks ago
points ]
 (3 votes)
Created 2016-12-27 04:35
8 weeks 14 hours ago
Created 2016-12-26 16:25
8 weeks 1 day ago
points ]
 (2 votes)
Created 2016-12-20 14:15
9 weeks 4 hours ago
points ]
 (3 votes)
Created 2010-03-04 23:30
6 years 50 weeks ago
points ]
 (2 votes)
Created 2016-09-06 23:34
23 weeks 6 days ago
points ]
 (5 votes)
Created 2010-02-18 22:58
7 years 4 days ago
Created 2016-10-09 12:48
19 weeks 2 days ago
Created 2016-05-10 23:14
40 weeks 6 days ago
Created 2016-07-28 12:06
29 weeks 5 days ago
points ]
 (1 vote)
Created 2016-08-19 06:04
26 weeks 4 days ago
points ]
 (10 votes)
Created 2010-06-23 21:33
6 years 34 weeks ago
points ]
 (6 votes)
Created 2014-05-14 01:01
2 years 40 weeks ago
points ]
 (4 votes)
Created 2015-09-22 23:19
1 year 21 weeks ago
points ]
 (10 votes)
Created 2014-09-03 23:36
2 years 24 weeks ago
points ]
 (2 votes)
Created 2016-05-19 23:35
39 weeks 4 days ago
points ]
 (7 votes)
Created 2015-08-19 05:29
1 year 26 weeks ago
Who's new
  • Flitzpiepe
  • M16
  • theradical
  • torben
  • KATZ_2142