Wiimm's Custom Archive

From Custom Mario Kart
Jump to: navigation, search

Wiimm's Custom Archive is a service (website https://ct.wiimm.de/) by Wiimm. It allows an easy access to his custom track and arena archive including a search engine and permanent links for external websites like this Wiiki.


Introduction

All tracks of Wiimm's private track archive were uploaded to the new website https://ct.wiimm.de/. The main goal for the website is to have a search engine and stable download links of custom stuff. At the moment custom tracks and custom arenas are supported.

Some tracks are marked as private. They exist, but can't be accessed by the public.

The interface allows searching for tracks or arenas by a list of keywords. Consoles, names, part of names, version numbers, authors and additional attributes can be used as keywords.

Links to the old track archive are redirected to this new archive.

Searching

When searching a track, you have to select the track class (tracks or arenas at the moment) and to enter a list of 1 or more space separated keywords.

You can search for:

  • console
  • name or words of the name
  • version number
  • authors
  • attributes
  • classification
  • sha1 of decompressed SZS/WBZ)
  • date of format yyyy or yyyy-mm

First, the keyword list is normalized: All characters except letters, digits, point and minus signs are removed. Letters are converted to lowercase. The same was done for all track names. And now the list of keywords is compared to all track names. At the moment only complete words are compared.

If at least one match is found, at most 100 tracks are listed. The limit can be changed with the special keyword @limit (see below). For each track a hit rate is calculated and the list is ordered by this rate.

Special keywords

@recent | @recent:LIMIT
Ignore all other keywords and list the most recent uploads. Tracks and arenas are listed together. The optional parameter LIMIT is an integer between 1 and 300 and defines the number of listed tracks. The default limit is 100. (Example)
@updates | @updates:LIMIT
Ignore all other keywords and list the most recent updates of the database. Updates are changes of track name or status. Tracks and arenas are listed together. The optional parameter LIMIT is an integer between 1 and 300 and defines the number of listed tracks. The default limit is 100. (Example)
@all
Show only tracks, where all keywords match.
@limit:LIMIT
The parameter LIMIT is an integer between 1 and 300 and defines the number of listed tracks. The default limit is 100.
@IDENTIFIER
Select a track by its numeric and unique IDENTIFIER.

Unambiguous abbreviations are allowed too.

Columns

The output tables consists of the following columns:

Rate
The search rating of the track. It is calculated by the number of matching words and by the length of the matching words. The column is only visible if a rating exists.
Id
Unique and permanent identifier of the track.
Family
The assigned family. The family identifier is the minimal track identifier of all family members. The tooltip will expose the total number of tracks in the family. If the number is ≥2, then a unique color is used for all members of the same family.
Type
The type of the track (»arena« or »track«). This column is only visible, if arenas and tracks are listed together (modes @recent and @updates).
Class
The classification of the track. See below for details.
Date
The date of the SZS file.
Updates
The date of the last record update. It is only displayed for mode @updates.
Name
The filename of the track. See below for details.
Jobs
Different activities. See below for details.

Jobs

The column »Jobs« contains direct links to other pages and also a checkbox for summaries:

Ct-wiimm-follow.png Search
Enter a new search based on the track name and the main authors.
Ct-wiimm-family.png Family
Show the complete family (all versions) of the track.
Ct-wiimm-info.png Info
Show details of the track.
Ct-wiimm-download.png Download
Download the tracks as WBZ.
Check box
You can also select up to 10 tracks by the check boxes. If at least 1 track is selected, some buttons appear below the table.

Permanent Links

Each track will get an unique and permanent track identifier (id). It is displayed as column »id«. This identifier is independent of the track name and status and will never change.

The links are:

 https://ct.wiimm.de/i/IDLIST
 https://ct.wiimm.de/i/SHA1

 https://ct.wiimm.de/f/IDLIST

 https://ct.wiimm.de/r/ID
 https://ct.wiimm.de/r/SHA1
 https://ct.wiimm.de/r/NAME

 https://ct.wiimm.de/d/IDLIST

Infos

Syntax of a Link:

  • https://ct.wiimm.de/i/ID
  • https://ct.wiimm.de/i/SHA1

IDLIST is a comma separated list of track identifiers or SHA1 checksums. For each found track, a info table is printed. Instead a id, the SHA1 checksum of the decompressed track can be used. At the bottom you find a table with a family overview.

Families

Syntax of a Link: https://ct.wiimm.de/f/IDLIST

Families is a concept to group different versions of the same track. IDLIST is a comma separated list of track identifiers or SHA1 checksums. The families of all tracks are printed in order by ordered by family index.

Redirects

Syntax of a Link:

  • https://ct.wiimm.de/r/ID
  • https://ct.wiimm.de/r/SHA1
  • https://ct.wiimm.de/r/NAME

The redirect part was implemented to support redirect of the old track archive. Therefor NAME is the complete track name used by the old archive. ».szs« and ».wbz« suffixes are removed before analysis. If a track is renamed, the previous names are still available for the redirector. Instead a name, the SHA1 checksum of the decompressed track or the unique id can be used.

If the track is found, the the user is redirected to an info page of the track. Otherwise the search engine called with all parts of the NAME.

Downloads

Syntax of the Link: https://ct.wiimm.de/d/IDLIST

The referenced tracks are downloaded. If 2 or more tracks are selected, a ZIP file is created. Otherwise the track is downloaded directly. The server will always provide WBZ files.

File names

A filename is displayed as:

CONSOLE NAME {VARIANT} SPEED VERSION (AUTHORS) [COMMENTS]
CONSOLE
An optional console prefix like »SNES« or »GBA«.
NAME
The official track name.
{VARIANT}
An optional variant like »{day}« or »{night}«.
SPEED
An optional speed factor like »x2« or »x1.25«.
VERSION
An optional version number like »Alpha«, »RC2« or »v1.2.pre«.
(AUTHORS)
A list of authors. If a comma is available, the authors before the comma are the main authors of the track and the authors behind did important modifications to the track. Multiple authors of the same group are separated by plus signs.
[COMMENTS]
An optional comma separated list of comments. Comments are either free text like publisher or variant, or special attributes (see below).

Example: [1]

Attributes

There are some special comments with acts like attributes of the track:

norm
This track is an automatically fixed and normalized version of another track version. Normalized means: Invalidate SZS fixed if possible, no lap modifier >3, no speed modifier, no AIParam. This kind of tracks is needed for easier comparison of tracks.
minimap
Minimap fixed.
kcl
KCL fixed (e.g. face down roads or invalid faces removed).
r<INDEX>
It is recommended, that the track runs at slot INDEX. Examples: »r31« or »r42«.
<INDEX>
The track have to run at slot INDEX. Examples: »31+71« or »61«.
<N>laps
The number of laps (default 3) is changed to another value. Examples: »1lap« or »5laps«.

Classification of tracks

From the beginning in year 2010, Wiimm classified the tracks. This classification is displayed as column »class« in the track listings. It is very subjective and the valuation changed in the years.

invalid
The original SZS file of the track is invalid and forces a freeze of the Wii.
freeze
The track will freeze the Wii nearly every time either at track loading time (black screen) or while playing.
fail
The track will run, but has major bugs or freezes occasionally. This kind of tracks is unusable for a distribution.
bad
The track will run, but has major bugs. This kind of tracks is usable, but hard to play.
stock
The default class of a track.
select
At least one version of a track family is recommended by Wiimm, if using the track in a distribution. For some tracks this is very subjective.
boost
Boost tracks are modified tracks, where roads are large boost pads.
nintendo
It's an original track of Nintendo. Nintendo tracks can't be downloaded.

Normalization

New tracks are normalized. The idea is, that minimal modifications like lap counters or speed factors don't prevent the identification of a track as duplicate. Normalization is done in 2 steps using tool wszst.

First a normalized track is created by the following rules:

  • Option --norm normalizes the subfile structure: Files are reordered and packed and directory ./ is used as top level directory.
  • Option --rm-aiparam is used to remove AIParam.
  • Option --kmp=3laps,max-laps is optionally used to limit the number of laps to 3. The decision about the usage is made by Wiimm track by track.
  • Option --speed-mod=0.0 is optionally used to remove any speed mod. The decision about the usage is made by Wiimm track by track.

Then a second normalized track is created. Here options --kmp=3laps,max-laps --speed-mod=0.0 are always used. If the second normalized track differs from the first one, it is marked with the attribute norm and inserted into the archive too.

At 2017-11-04, a normalized version (step 2) of all tracks was created and inserted into the archive. 137 tracks have been added to the archive.

Template Misc-Info

The template Misc-Info of this Wiiki supports the parameter »wbz-id=ID«. Once set, a link to the family of the track is printed. You can use the identifier of any track of the family, the result remains the same. So the parameter must only defined once, even if new versions becomes available.

Usage example:

{{Misc-Info
....
|wbz-id=1234
....
}}

Additional direct download links to the WBZ archive are possible.


Distribution support

A support for Custom Track Distributions is implemented too. As of v1.55a of Wiimms SZS Tools, the new command DISTRIBUTION is available. It scans all tracks of one ore more directories and creates (or edits) a configuration file. The user has to edit the file to complete the information fields. The he can upload it to ct.wiimm.de.

At the moment, the uploads are only collected and Wiimm have to verify each configuration file.

For more details see »Wiimm's Custom Archive/Distribution«

Development

2017-10-20
  • Start of development.
  • Scan all SZS files and store information into a database. Each file gets an unique identifier that will never change, even if the filename will changes.
  • Convert all files to WBZ and use the unique identifier as filename.
  • Upload 3110 WBZ files (4.6GB)
  • Create a new website: https://ct.wiimm.de/
  • Create a PHP script to access the WBZ files.
2017-10-21
  • Create and test an Search Interface. The created links are permanent and can be used in this wiki.
2017-11-02
  • The public part of the website is implemented now. This includes info pages, families, redirector and download manager.
  • 3233 tracks uploaded.
2017-11-03
2017-11-04
  • From now on, each track is normalized in 2 ways. This makes comparison of tracks much easier.
  • 3408 tracks uploaded.

Plans

  • Upload service.
  • Changing of laps, speed factor and slots on the fly.
  • Distribution management with help by wszst.