VERSION | Print program name and version and exit. | |
HELP | H | Print help for commands and options. |
ARGTEST | This debug command accepts all kinds of parameters and prints one line for each parameter or option. | |
TEST | Test options: All options are allowed, some are printed. | |
UPDATE | Update the global game-id and secret files by reading Wiimmfi. | |
COLORS | Ignore all parameters and print colored text for testing. | |
KEYS | Ignore all parameters and enter keyboard test mode to test the TERMCAP based key-press detection. | |
POINTS | PTS | Print a table with the points assigned to player after a versus or room race. |
TABLES | TAB | For each table name (see option --table), print the table definition that reflects the current settings. The special name |
ERROR | ERR | Translate exit codes to message names. If no exit code is entered, print a table with all error messages. |
LIST | List the keywords of a class. Allowed classes are: |
|
FRIENDCODES | FC | Calculate friend codes and profile ids. For each scanned parameter a line with a decimal friend code (FC), a hexadecimal friend code, a decimal profile ID (PID), game ID and game name is printed.
Various formats are accepted as input. For a PID the FC of the current game (see option --gid) is calculated. For a FC, a list with all matching games is printed. |
PROFILEIDS | PID | Extract the profile id of each parameter and print the profile id as single line. Various formats are accepted as input. The exit status is WARNING for any syntax error. |
IP | Print a line for each parameter with the scanned IPv4 address as raw decimal number, raw hexadecimal number and in dot notation (A and B and C-class). | |
QUERY | Send a SQL query to a gamespy server. All parameters are concatenated to one SQL WHERE clause, but parameters beginning with '@' have special meanings. '@-' enables a verbose test mode and disables the connection to the server.
In the post processing of the completed where-clause, multiple blanks are elimated and friend codes in format '@FC' are replaced by the related profile id. |
|
DUMP0 | D0 | Print a raw dump of all packets. This dump can be used for all network dumps, not only for MKWii. |
DUMP1 | D1 | Packet based hex dumper. |
DUMP2 | D2 | First record based hex dumper. |
DUMP3 | D3 | New and improved variant of DUMP2 (record based). |
DUMP | D | Use the best/latest dumping mode (depends on options). At the moment DUMP is an alias for |
FLOWRATES | F | Print flowrates of the data traffic. This command can be used for all network dumps, not only for MKWii. |
DNS | Print DNS and optional ARP packets in human readable format. This command can be used for all network dumps, not only for MKWii. | |
SILENT | SIL | Iterate and analyse the source files, but print nothing. |
ANALYZE | ANA | Analyze the dump files for special information and print it a machine readable list, one line per record. Parameter MODELIST is a comma separated list of keywords. Each keyword enables one kind of analysis:
* PARAM-NAMES: Print names of STRING-PARAM records, one line for each LIST. * NICKS: Collect data about user and their nicks and friend lists. * QUERY: Collect data about SQL queries. * NATNEG: Collect data about NATNEG records. * ALL: All of above. |
SERVERS | SER | Print statistics about all servers. |
CLIENTS | CLI | Print statistics about all clients. |
USERS | U | Print statistics about all users. |
WIIMMFI | WIM | Print the final content of the WIIMMFI database. |
RECORDS | R | Print all record names. |
COUNT | CNT | Count the record types. |
STAGES | S | Print all stages. |
LOG | L | Print all stages including tables. |
TRACKS | Print all track selections. | |
TOTALS | T | Print all totals as text dump. |
RACE | Live race table of all players. The screen is updated every 0.5 seconds. | |
BACKEND | The frontend works like an interactive backend connection. Closing the interactive frontend is like pressing CTRl-C. |
Options | |||
---|---|---|---|
Option | Param | Description | |
--account | name | The case insensitive account for the query. The default account is the game name specified by option --game, if that game is known or a key is set. Otherwise 'gslive' is used as fall back. The internal database contains 3013 users with their associated keys.
The old option name --user is also accepted. |
|
--adjust | time | Adjust time stamps of the network dump by adding 'time' seconds. This may help to synchronize different dumps. The argument is scanned for SI factors, time units, plus and minus terms. | |
-A | --allow-all | Usually commands accept only options with impact to the command. All other options fire a syntax error. But if This makes changing the command of a long command line without removing useless options easier. It also helps to override wrong option permissions. |
|
--ana | file | Open a log file and dump text lines for further analysis. The first word of each line classified the output type. If first character of 'file' is a '+', append data to an already existent file. If the filename is only '-', then dump to stdout. | |
--ana-mode | list | Print only the specified events to the analysis file. --amd is a short cut. A comma separated list of keywords is expected: CHEATS=IT-CHEATS, XCHEATS=CHEATS,IT-XCHEATS, ITEM, EV-DLEN, EV-ALL-DLEN, EV-NAME. Also available: |
|
--and | If one or more filters are enabled by --receive, --send, --receive-mac, --send-mac, --receive-ip or --send-ip, then a packet or record is only dumped, if it match to at least one of the enabled filters.
But if --and is set, a packet must match *all* enabled filters. |
||
-a | --ascii | Append an ASCII character dump behind the hexdump. This option is ignored if using --one-line or --sep-lines. | |
--assume | list | A list of keywords is expected to makes some assumptions:
|
|
--auto-ban | list | This is another interface to enable automativ bans. A comma separated list of keyowrds is expected. Keywords GLITCH, EMOVE=EARLYMOVE, EITEM=EARLYITEM, ICHEAT=ITEMCHEAT and
Additonally you can add one of the fo9llowing keyword: Only Wiimmfi moderators are able to ban! |
|
--auto-bmg | file | Read a BMG file after opening a dump file. The purpose is to read a text BMG with conditionals and to load another BMG based on the file name of the dump file.
Relative filenames are first searched relative to the current directory and then relative to the dump file directory. If both are found, both are read. |
|
--auto-term | time | This option is only relevant, if --distribute or --cmd is active: Terminate mkw-ana if no client is connected for |
|
--bash | Force output in bash syntax. | ||
--bmg | file | Read a BMG file to scan online chat messages, versus points and names for tracks, drivers and vehicles. It also disables the auto load of BMG files. Multiple usage is possible. | |
-b | --brief | If set once, the header (timestamp and client info) of single line dumps becomes smaller. If set twice, timestamp and client info are not printed. All previous --long are canceled. | |
--checksum | Normally, UDP packets with wrong checksums are dropped. If --checksum is set, the checksums are calculated, but no packet is dropped. Some dumps will print a status info. If set twice, checksums are never calculated and assumed to be correct. --csum is a short cut. | ||
--cmd | address | Create a socket in listen modus for backend clients. Up to 3 coexistent sockets are supported. The number of clients is not limited.
If
Otherwise a TCP/IP connection is established. Use
Use |
|
--cmode | mode | Define a checksum mode for friend code calculations and disable automatic selection. Possible keywords are |
|
--color | [=modus] | Define the modus for colored text output. Allowed keywords are:
If a command is prefixed by |
|
--256-colors | Short cut for --color=256-colors: Force colorized text with 256 color support. | ||
--combine | Logical combine network dumps to one single dump before executing options --skip and --term. | ||
--config | file | Read a configuration file. Use this option multiple times to load more than 1 file and to override previous settings.
At program start one of |
|
--ct-code | [=mode] | Define the CT-CODE support modus. Allowed keywords are |
|
--de | Use german names. The default is to use english names. For full impact use this option before the first --bmg. | ||
-d | --delta | If set, record data is compared with the data of the previous record of same type and client. If a nibble (4 bits) is unchanged, a '-' is printed intead of a hex digit. | |
--dflush | The dump commands flush the output after each packet dump. | ||
--disable-job | Disable job connections at all.Backend command |
||
--disable-wiimmfi | Disable the analysis of \wiimmfi\ messages.--dis-wiimmfi is a short cut. | ||
--distribute | address | Create a socket in listen modus to distribute incoming dump packets directly to other processes. Up to 3 coexistent sockets are supported. The number of clients is not limited.
If
Otherwise a TCP/IP connection is established. Use |
|
--drift | Print drift statistics during logging. | ||
--exec | After setup, execute each command by a virtual backend connection in non-interactive modus. This is done also, if no backend (--cmd) is defined. If the first character is a plus sign, then enable logging for this command. If it is a minus sign, disable logging. Otherwise enable logging, if verbose level is >1. Multiple commands are possible. | ||
--flush | Short cut for »--wflush --dflush«. | ||
-f | --follow | Don't close the last input dump on reaching end of file. Instead wait for appended data. This works like the unix tool 'tail -f'. | |
--fphp | Force output in php syntax. | ||
--game | name | The case insensitive game name. The default is A special mode is entered, if 2 or more games separated by commas or spaces are defined. In this case, options »--select, --limit« and --group-by are inored and a user count for each game is printed. |
|
--gexport | file | Write the internal list with game id4 and names to an external file after all --gimport options are processed. The new file contains also a comment section about the syntax and semantic. If --brief is set, this comment is suppresses. If --brief is set twice, the output is printed in C as support for the internal game list. | |
--gid | game_id | Define the game ID for friend code calculations. Up to 4 characters of the parameter replace the default value |
|
--gimport | file | Read game ID4 and names from the file and mix it with already defined games. A definiton will first removes all games with the same ID3. Then the new ID4 definitons are added.
Use this option multiple times to load more than 1 file. If the filename is '0', the internal list is cleared and auto loading (see below) is disabled. For syntax and semantic see option --gexport.
At program start one of |
|
--glitch | ban[,info] | Define 2 levels, the first for automatic bans because of glitching and the optional second to print log infos about glitching (--logmode GLITCH must be set). Bans are always logged. This option has priority over configuration file settings.
This option has priority over option --auto-ban. The backend command |
|
--group-by | list | Ignore options --select and --limit and print counters for all different values of the named fields. --gby is a shortcut. | |
--height | height | Define the terminal height (number of rows) and disable the automatic detection. | |
-h | --help | Print help and exit. If the first non option is a valid command name, then a help for the given command is printed. | |
-x | --hex | Some records are printed as hex and string combination by default. If --hex is set, then print these records as hex dumps. | |
--hide-mac | Hide the MAC addresses of packets in all dumps. This is the default, if no MAC packet filter is enabled. | ||
--history | file | Load and save the command history from and to this file. | |
--hms | Enable relative time stamps Like --rel, but print them in HH:MM:SS instead in seconds only. | ||
--hms-info | Short cut for »--rel-info --hms«. | ||
--home | addr | Define an address (IP or DNS name) as home client.
Without this options, the tool tries to determine the home client by analysing sender and receiver of the first non filtered packet. A local network (10/8, 172.16/12, 192.168/16, 169.254/16) has priority over a non local network. If sender and receiver have the same priority, the IP of the sender is used. |
|
-i | --ignore | Ignore non existend and empty source files and print only a warning. If set twice, suppress the warning too. | |
--ignore-hup | Ignore signal HUP. | ||
--ignore-int | Ignore signal INT. | ||
-I | --index | ranges | Dump only bytes with an index selected by the range list. This makes the hex dump smaller especially for one-line dumps.
The parameter is a comma separated list of |
--ip | addr[:port] | Define an address (IP or DNS name) and optional a port for filtering. Only packets from or to this host are accepted, all others are ignored. | |
--item-cheat | level | Define a level for automatic bans because of using item cheats. If mkw-ana detects more than LEVEL item cheats in 1 race, then an automatic ban is done.
--icheat is a short cut. This option has priority over option --auto-ban. The value can be changed at the backend. Only Wiimmfi moderators are able to ban! |
|
--le-code | [=mode] | Define the LE-CODE support modus. Allowed keywords are |
|
-L | --length | ranges | Dump only UDP packets with specified UDP data length. The 8 bytes long UDP header does not count.
The parameter is a comma separated list of |
--limit | num | Define a response limit for the SQL query. Values between -2 and 255 are allowed. 0 (the default) means unlimited. The special value -1 forces counting instead of printing each record and the special value -2 sends only an IP detection record.
The parameter |
|
--list | Print a list of events instead of a summary. | ||
--log | file | Log into the file using the same output as command LOG. If first character of 'file' is a '+', append data to an already existent file. If the filename is only '-', then log to stdout. | |
--log-mode | list | Define, which elements are included into the log output (see --log). --lmd is a short cut. A comma separated list of keywords is expected: STATUS, STAGE, SELECT, STARTER, FINISH, GRANDPRIX, GTOTAL, TOTAL, LTOTAL, USLOT, RSLOT, GLITCHES, TRIGGER CHEATS, SLOTS, RTYPES, HOST, TEAM, TRACK, USER, TABLES, DISCONNECT, QUERY, REGION, MKWFUN, JOBS, GWIIMMFI, IDSELECT, LECODE, R-MASTER, R-NATNEG, R-STATUS, RECORD=R-*, TCP=QUERY+REGION, DEFAULT, NONE and |
|
--log-pos | file | Create a special log file and write racing records with timer, position, speed and direction of all player for further analysis. | |
-l | --long | This option is relevant for single line dumps. Usually the time format is printed as 'MM:SS.s' to keep the lines small. If set once, 'HH:MM:SS.s' is used. If set twice, 'HH:MM:SS.sss' is used. All previous --brief are canceled. | |
--md | file | Create a MakeDoc script with results after each race. | |
--mdx | file | Create a MakeDoc script with results after each race. Same as --md, but replace |
|
--mii | dir | Extract Miis to the already existing directory 'dir'. Existing Mii files will be overwritten. | |
--min-race | num | This is a statistic option: If a Grand Prix (single or team) is aborted, the results of the Grand Prix are only used in the statistics, if |
|
-n | --native | If set, some known values are printed in native format instead as simple hex number. If set twice, some other values, that will destroy the column layout of the hexdump, will printed in native format too. | |
--new | Use new implementation if available. All previous --old are canceled. | ||
--nintendo | Set the server to |
||
--no-color | Short cut for --color=off: Deactivate colorized text. This is the default, if an output file is not a terminal. | ||
-p | --no-proxy | Don't dump proxy packets (packets, which contains a PROXY record). | |
--old | Use old implementation if available. All previous --new are canceled. | ||
-1 | --one-line | Print the hexdumps as one line for each record. This makes the dumps horizontal very large, but it is good for comparing objects of the same type. Very helpful is to pipe the output to If set twice, some record types are additinally added a combined record (overlay). |
|
-o | --only-servers | Dump only network packets from and to known servers. | |
--origin | x,y,z | Define an alternative origin for positions. | |
--php | file | Create a php script with results after each race. | |
--phpx | file | Create a php script with results after each race. Same as --php, but replace |
|
--points | list | Create a new table with points. These points are assigned to players after a versus or room race. A later --bmg containing a 3FF0 message may override this new table.
The parameter is a blank or comma and slash (next row) separated list with numbers (points) between 0 and 255 and the following keywords: |
|
--port | num | Define a default port. It is only used, if no port is defined by the --server option. The default port is 28910. | |
-P | list | Define the columns for table RACE. A comma separated list of keywords is expected: SLOT, RANK, XTIME=TIME+DELAY+LAST, POS=XPOS+YPOS+ZPOS, DIR, SPEED=3SPEED+HSPEED, STATUS, DRIFT=DCOUNT+DCHEAT, XDRIFT=DRIFT+DMINTIME, ITEM=ICHEAT+ICOUNT+ISUMMARY, CHEAT=DCHEAT+ICHEAT DRIVER, VEHICLE, COMBI, TEAM, PID, FC, WHO=MINIFC+NAME. Also available: The new option --table overrides this option, but allows to integrate the columns defined by --print. |
|
-q | --quiet | Be quiet and print only error messages. All previous --verbose are canceled. Multiple usage is possible. The impact is command dependent. | |
-r | --receive | Dump only network packets received by the home client (option --home). For combinations with other packet filters see option --and. | |
--receive-ip | addr | Dump only network packets received by the entered address (IP or DNS name). |
|
--receive-mac | addr | Dump only network packets received by the entered MAC address. |
|
--refresh | duration | Defines the table refresh time (SI units allowed; default is second) for command RACE (default 0.5s). | |
--rel | Print timestamps as seconds relative to the beginning. Dependent of option --long the formats are: 'SSSSS', 'SSSSS.s' or 'SSSSS.sss' | ||
--rel-info | Like --rel, but reset the origin whenever a reference time is defined in the info file. | ||
--real-time-factor | factor | If set (>0.0), the time differences of the packet time is compared with the real time difference. If a packet will be served to early, the tool sleeps a while.
Value 1.0 forces a real time dump. Values >1.0 force a time-laps effect and values <1.0 a slow-motion effect. --rtf is a short cut. The intention of this option is to simulate a regular input stream on already dumped and stored data in real time. Use this option never for live incoming data, because packets may be lost. |
|
--real-time-wait | seconds | If set (>0.0) and the real time option --real-time-factor is enabled, it defines the maximum real time between 2 packets. The default is 3 seconds. --rtw is a short cut. | |
--secret | secret | The secret with usually 6 characters is used for decoding answers of server MS. Only the 3 lower bits of each character are relevant for the secret (e.g. characters '19AIQYai' and more are identical). If not set, a lookup into an internal database is done. If the lookup fails, The old option name --key is also accepted. |
|
--select | list | Define a list of keywords for the SELECT part of the SQL query. Commas, slashes and backslashes are accepted as separator. A single plus sign (
If one the options --wiimmfi or --twiimmfi is set, the plus sign |
|
-s | --send | Dump only network packets send by the home client (option --home). For combinations with other packet filters see option --and. | |
--send-ip | addr | Dump only network packets send by the entered address (IP or DNS name). |
|
--send-mac | addr | Dump only network packets send by the entered MAC address. |
|
-2 | --sep-lines | Dump one line per record (like option --one-line) and an empty line between packets. | |
--server | addr[:port] | Define an address (IP or DNS name) and optional a port of the server, where the query is send to. It also disables the |
|
--sexport | file | Write the internal secret list with game name, secret and description to an external file after all --simport options are processed. The new file contains also a comment section about the syntax and semantic.
If --brief is set, this comment is suppresses. If --brief is set twice, the output is printed in C as support for the internal secret list. If --long is set, select strings are also exported. If --long is set twice, an extra empty line is added behind each select rxport. |
|
--show-mac | Show the MAC addresses of packets in some dumps. This is enabled by default, if at least one MAC packet filter (--receive-mac or --send-mac) is enabled. | ||
--simport | file | Read a text file and scan it for internal game names and secrets. Override existing entries with the same game name.
Use this option multiple times to load more than 1 file. If the filename is '0', the internal list is cleared and auto loading (see below) is disabled. For syntax and semantic see option --sexport.
At program start one of |
|
--skip | time | Skip first 'time' seconds of each read network dump. The argument is scanned for SI factors, time units, plus and minus terms. Negative values are relative to the end (or ignored for pipes). | |
--sleep | duration | Sleep 'duration' (SI units allowed; default is second) after a race has finished. This option slows down a simulation run direct after logging and printing the race statistics. Values of the range from 3 to 15 seconds seems to be good. | |
-S | --stage | list | Dump UDP packets only, if one of the entered stages is active.
The parameter is a comma separated list of stage names, optional preceeded by '+' (enable) or '.' (disable). Type »mkw-ana test« for a list of stages or use the dumps to identify stage names. |
--tables | name=list [;name=list]... | If printing table
For the column definition a comma or blank separated list of keywords is expected. Type
Each keyword can be prefixed by '-' to remove this column, or by '+' to add the column only, if not already included, or by '=' to remove this column and then add it again. To replace an element use
Instead of a column name, a point followed by a table name can be used ('
Option »--table} can be used multiple times. Theimpact is the same as separting the parameters by a semicolon. Command {TABLES --brief« helps to develop good lists and the special column name |
|
--tcp | Ignore the TCP setting of the configuration file and try to connect the JOB server using TCP/IP first (new and experimental). Fall back to UDP/IP, if TCP/IP fails. | ||
--team | file | Read a text file for team assignments and disable auto load of team files. Multiple usage is possible. | |
--term | time | Terminate each dump at 'time' seconds. The argument is scanned for SI factors, time units, plus and minus terms. Negative values are relative to the end (or ignored for pipes). | |
--tfile | file | Read the arguments for option --table from a file: The hash sign ('#') starts a comment until end of line. Empty lines are ignored. A table definition can be spread over multiple lines and ends always with a semicolon or end of file. The output of command TABLES is compatible with this option. | |
--time-cheat | time | Define a time in seconds (float), SI units possible. If a time cheat is deteced that gives the user a bonus of at least TIME seconds, then an automatic ban is done.
--tcheat is a short cut. This option has priority over option --auto-ban. The value can be changed at the backend. Only Wiimmfi moderators are able to ban! |
|
--transfer-ip | addr | Dump only network packets received or send by the entered address. |
|
--transfer-mac | addr | Dump only network packets receiced or send by the entered MAC address. |
|
--twiimmfi | Set the server to |
||
-t | --type | list | Dump UDP packets only, if at least one record of the packet match the entered record list.
The parameter is a comma separated list of record names, optional preceeded by '+' (enable) or '.' (disable). Type »mkw-ana test« for a list of records or use the dumps to identify record names. |
-T | --TYPE | list | Same as --type except for command |
--udp | Ignore the TCP setting of the configuration file and try to connect the JOB server using UDP/IP (default until now). | ||
-v | --verbose | Be verbose and print more progress information. All previous --quiet are canceled. Multiple usage is possible. The impact is command dependent. | |
-V | --version | Stop parsing the command line, print a version info and exit. | |
--wait | If option --cmd created at least one socket, then wait for connections instead of terminating the tool. | ||
--warn-mode | list | Define, which warnings are enabled. --warn is a short cut. A comma separated list of keywords is expected: LENGTH, XLENGTH, STATUS, EVENT, DEFAULT, NONE and |
|
--wflush | Flush the output after each packet written by --write. | ||
-w | --wide | [=width] | Usually hexdumps covers 16 bytes per line. If --wide is set, 32 bytes per line are covered. Optional it is possible to enter a value. This option is ignored if using --one-line or --sep-lines. |
--width | width | Define the terminal width (number of columns) for help and some other messages and disable the automatic detection. | |
--wii | addr[:port] | Define an address (IP or DNS name) and optional a port as home client and for filtering. This options is a shortcut for »--home addr --ip addr:port«. | |
--wiimmfi | Set the server to |
||
--write | file | Write filtered network packets as PCAP v2.4 to 'file' with local endian and microseconds format. | |
--xevent | Support the XEVENT record type. It is an overlay over the ITEM and EVENT records. --xeve is a shortcut. The option is automatically set, if --type or --TYPE call the XEVENT record. | ||
--xhelp | Stop parsing the command line and print a help message with all commands included. Exit after printing. |