NUMA hacking is the technique of manipulating NUMA map listings by modifying their URLs. Because NUMA already processes tag searches and map listing navigation through the use of query strings (a component of almost all NUMA map listing URLs), NUMA hacking provides the functionality of both tag searches and listing navigation in addition to its own unique features.


All NUMA map listing URLs have the following structure:


The query strings determine what maps will be in the listing and their order, and what part of that listing will be viewed. The browse function determines how the viewed part of the list will be displayed.

Browse function[]

The browse function must be one of the following:

  • browse - Dislpays a NUMA listing of the indicated maps.
  • userlevels - Displays a plain text list of the map data of the indicated maps.

Query strings[]

Query strings take the form "field=variable". All currently accepted query strings include:

  • count=#
    • Displays # maps per page.
    • Defaults to "count=10" if absent from URL.
    • Setting "count" to a number greater than 45 may produce truncated results.
  • start=#
    • Skips # maps and displays the map listing from (#+1)th map onward.
    • Defaults to "start=0" if absent from URL.
    • Example: http://nmaps.net/browse will display the 10 most recently submitted maps, since "count" defaults to 10, "start" defaults to 0, and no tags are indicated. Note that if no query strings are present, the "?" can be omitted. Also note that map listings always proceed from most recent to least recent.
  • q=tag+tag+tag+...
    • Only includes maps with the given tags. To exclude maps with a certain tag, add "-" right in front of the tag.
    • See NUMA tag system for a list of useful tags. Please note that title tags are currently not searchable.
    • All tags of interest must be included in a single query string. If two or more tag-related query strings are present, all but the last will be ignored.
  • random=anything
  • ifl=anything
    • Navigates directly to a random map in the listing, thereby negating any use of "count", "start", or "random".
    • The variable can literally be anything as long as it doesn't contain ^ or %.
    • Browse function defaults to "browse".

One final note: if a query string is mistyped or involves an invalid variable, that particular query string will be ignored.


Below are a few comprehensive examples:

Discontinued query strings[]

When NUMA received its most recent facelift, the use of the following query strings was discontinued:

  • order=asc/desc
    • Displays the maps in ascending or descending order.
    • Defaults to "order=desc" if absent from URL.
  • sort=created/lastupdated/rating/votes/random
    • Sorts the map listing by date created, by date last updated, by rating, by number of votes, or randomly.
    • Defaults to "sort=created" if absent from URL.

Given their obvious usefulness, their removal was met with criticism from many members of the N community. In response, Arachnid stated that several features were cut because they were "little-used" and were "difficult or impossible to implement in the new architecture", citing "sort" and "order" in particular since "there was never a UI for them in the first place." [1]