diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/404.html b/404.html new file mode 100644 index 0000000..7cf4983 --- /dev/null +++ b/404.html @@ -0,0 +1,2037 @@ + + + + + + + + + + + + + + + + + + Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ +

404 - Not found

+ +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..159d02e --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +doc.trackmania.com \ No newline at end of file diff --git a/assets/images/favicon.png b/assets/images/favicon.png new file mode 100644 index 0000000..1cf13b9 Binary files /dev/null and b/assets/images/favicon.png differ diff --git a/assets/javascripts/bundle.fac441b0.min.js b/assets/javascripts/bundle.fac441b0.min.js new file mode 100644 index 0000000..4bb4cd6 --- /dev/null +++ b/assets/javascripts/bundle.fac441b0.min.js @@ -0,0 +1,29 @@ +"use strict";(()=>{var Ci=Object.create;var gr=Object.defineProperty;var Ri=Object.getOwnPropertyDescriptor;var ki=Object.getOwnPropertyNames,Ht=Object.getOwnPropertySymbols,Hi=Object.getPrototypeOf,yr=Object.prototype.hasOwnProperty,nn=Object.prototype.propertyIsEnumerable;var rn=(e,t,r)=>t in e?gr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,P=(e,t)=>{for(var r in t||(t={}))yr.call(t,r)&&rn(e,r,t[r]);if(Ht)for(var r of Ht(t))nn.call(t,r)&&rn(e,r,t[r]);return e};var on=(e,t)=>{var r={};for(var n in e)yr.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&Ht)for(var n of Ht(e))t.indexOf(n)<0&&nn.call(e,n)&&(r[n]=e[n]);return r};var Pt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Pi=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ki(t))!yr.call(e,o)&&o!==r&&gr(e,o,{get:()=>t[o],enumerable:!(n=Ri(t,o))||n.enumerable});return e};var yt=(e,t,r)=>(r=e!=null?Ci(Hi(e)):{},Pi(t||!e||!e.__esModule?gr(r,"default",{value:e,enumerable:!0}):r,e));var sn=Pt((xr,an)=>{(function(e,t){typeof xr=="object"&&typeof an!="undefined"?t():typeof define=="function"&&define.amd?define(t):t()})(xr,function(){"use strict";function e(r){var n=!0,o=!1,i=null,s={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function a(O){return!!(O&&O!==document&&O.nodeName!=="HTML"&&O.nodeName!=="BODY"&&"classList"in O&&"contains"in O.classList)}function f(O){var Qe=O.type,De=O.tagName;return!!(De==="INPUT"&&s[Qe]&&!O.readOnly||De==="TEXTAREA"&&!O.readOnly||O.isContentEditable)}function c(O){O.classList.contains("focus-visible")||(O.classList.add("focus-visible"),O.setAttribute("data-focus-visible-added",""))}function u(O){O.hasAttribute("data-focus-visible-added")&&(O.classList.remove("focus-visible"),O.removeAttribute("data-focus-visible-added"))}function p(O){O.metaKey||O.altKey||O.ctrlKey||(a(r.activeElement)&&c(r.activeElement),n=!0)}function m(O){n=!1}function d(O){a(O.target)&&(n||f(O.target))&&c(O.target)}function h(O){a(O.target)&&(O.target.classList.contains("focus-visible")||O.target.hasAttribute("data-focus-visible-added"))&&(o=!0,window.clearTimeout(i),i=window.setTimeout(function(){o=!1},100),u(O.target))}function v(O){document.visibilityState==="hidden"&&(o&&(n=!0),Q())}function Q(){document.addEventListener("mousemove",N),document.addEventListener("mousedown",N),document.addEventListener("mouseup",N),document.addEventListener("pointermove",N),document.addEventListener("pointerdown",N),document.addEventListener("pointerup",N),document.addEventListener("touchmove",N),document.addEventListener("touchstart",N),document.addEventListener("touchend",N)}function B(){document.removeEventListener("mousemove",N),document.removeEventListener("mousedown",N),document.removeEventListener("mouseup",N),document.removeEventListener("pointermove",N),document.removeEventListener("pointerdown",N),document.removeEventListener("pointerup",N),document.removeEventListener("touchmove",N),document.removeEventListener("touchstart",N),document.removeEventListener("touchend",N)}function N(O){O.target.nodeName&&O.target.nodeName.toLowerCase()==="html"||(n=!1,B())}document.addEventListener("keydown",p,!0),document.addEventListener("mousedown",m,!0),document.addEventListener("pointerdown",m,!0),document.addEventListener("touchstart",m,!0),document.addEventListener("visibilitychange",v,!0),Q(),r.addEventListener("focus",d,!0),r.addEventListener("blur",h,!0),r.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&r.host?r.host.setAttribute("data-js-focus-visible",""):r.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if(typeof window!="undefined"&&typeof document!="undefined"){window.applyFocusVisiblePolyfill=e;var t;try{t=new CustomEvent("focus-visible-polyfill-ready")}catch(r){t=document.createEvent("CustomEvent"),t.initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(t)}typeof document!="undefined"&&e(document)})});var cn=Pt(Er=>{(function(e){var t=function(){try{return!!Symbol.iterator}catch(c){return!1}},r=t(),n=function(c){var u={next:function(){var p=c.shift();return{done:p===void 0,value:p}}};return r&&(u[Symbol.iterator]=function(){return u}),u},o=function(c){return encodeURIComponent(c).replace(/%20/g,"+")},i=function(c){return decodeURIComponent(String(c).replace(/\+/g," "))},s=function(){var c=function(p){Object.defineProperty(this,"_entries",{writable:!0,value:{}});var m=typeof p;if(m!=="undefined")if(m==="string")p!==""&&this._fromString(p);else if(p instanceof c){var d=this;p.forEach(function(B,N){d.append(N,B)})}else if(p!==null&&m==="object")if(Object.prototype.toString.call(p)==="[object Array]")for(var h=0;hd[0]?1:0}),c._entries&&(c._entries={});for(var p=0;p1?i(d[1]):"")}})})(typeof global!="undefined"?global:typeof window!="undefined"?window:typeof self!="undefined"?self:Er);(function(e){var t=function(){try{var o=new e.URL("b","http://a");return o.pathname="c d",o.href==="http://a/c%20d"&&o.searchParams}catch(i){return!1}},r=function(){var o=e.URL,i=function(f,c){typeof f!="string"&&(f=String(f)),c&&typeof c!="string"&&(c=String(c));var u=document,p;if(c&&(e.location===void 0||c!==e.location.href)){c=c.toLowerCase(),u=document.implementation.createHTMLDocument(""),p=u.createElement("base"),p.href=c,u.head.appendChild(p);try{if(p.href.indexOf(c)!==0)throw new Error(p.href)}catch(O){throw new Error("URL unable to set base "+c+" due to "+O)}}var m=u.createElement("a");m.href=f,p&&(u.body.appendChild(m),m.href=m.href);var d=u.createElement("input");if(d.type="url",d.value=f,m.protocol===":"||!/:/.test(m.href)||!d.checkValidity()&&!c)throw new TypeError("Invalid URL");Object.defineProperty(this,"_anchorElement",{value:m});var h=new e.URLSearchParams(this.search),v=!0,Q=!0,B=this;["append","delete","set"].forEach(function(O){var Qe=h[O];h[O]=function(){Qe.apply(h,arguments),v&&(Q=!1,B.search=h.toString(),Q=!0)}}),Object.defineProperty(this,"searchParams",{value:h,enumerable:!0});var N=void 0;Object.defineProperty(this,"_updateSearchParams",{enumerable:!1,configurable:!1,writable:!1,value:function(){this.search!==N&&(N=this.search,Q&&(v=!1,this.searchParams._fromString(this.search),v=!0))}})},s=i.prototype,a=function(f){Object.defineProperty(s,f,{get:function(){return this._anchorElement[f]},set:function(c){this._anchorElement[f]=c},enumerable:!0})};["hash","host","hostname","port","protocol"].forEach(function(f){a(f)}),Object.defineProperty(s,"search",{get:function(){return this._anchorElement.search},set:function(f){this._anchorElement.search=f,this._updateSearchParams()},enumerable:!0}),Object.defineProperties(s,{toString:{get:function(){var f=this;return function(){return f.href}}},href:{get:function(){return this._anchorElement.href.replace(/\?$/,"")},set:function(f){this._anchorElement.href=f,this._updateSearchParams()},enumerable:!0},pathname:{get:function(){return this._anchorElement.pathname.replace(/(^\/?)/,"/")},set:function(f){this._anchorElement.pathname=f},enumerable:!0},origin:{get:function(){var f={"http:":80,"https:":443,"ftp:":21}[this._anchorElement.protocol],c=this._anchorElement.port!=f&&this._anchorElement.port!=="";return this._anchorElement.protocol+"//"+this._anchorElement.hostname+(c?":"+this._anchorElement.port:"")},enumerable:!0},password:{get:function(){return""},set:function(f){},enumerable:!0},username:{get:function(){return""},set:function(f){},enumerable:!0}}),i.createObjectURL=function(f){return o.createObjectURL.apply(o,arguments)},i.revokeObjectURL=function(f){return o.revokeObjectURL.apply(o,arguments)},e.URL=i};if(t()||r(),e.location!==void 0&&!("origin"in e.location)){var n=function(){return e.location.protocol+"//"+e.location.hostname+(e.location.port?":"+e.location.port:"")};try{Object.defineProperty(e.location,"origin",{get:n,enumerable:!0})}catch(o){setInterval(function(){e.location.origin=n()},100)}}})(typeof global!="undefined"?global:typeof window!="undefined"?window:typeof self!="undefined"?self:Er)});var qr=Pt((Mt,Nr)=>{/*! + * clipboard.js v2.0.11 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */(function(t,r){typeof Mt=="object"&&typeof Nr=="object"?Nr.exports=r():typeof define=="function"&&define.amd?define([],r):typeof Mt=="object"?Mt.ClipboardJS=r():t.ClipboardJS=r()})(Mt,function(){return function(){var e={686:function(n,o,i){"use strict";i.d(o,{default:function(){return Ai}});var s=i(279),a=i.n(s),f=i(370),c=i.n(f),u=i(817),p=i.n(u);function m(j){try{return document.execCommand(j)}catch(T){return!1}}var d=function(T){var E=p()(T);return m("cut"),E},h=d;function v(j){var T=document.documentElement.getAttribute("dir")==="rtl",E=document.createElement("textarea");E.style.fontSize="12pt",E.style.border="0",E.style.padding="0",E.style.margin="0",E.style.position="absolute",E.style[T?"right":"left"]="-9999px";var H=window.pageYOffset||document.documentElement.scrollTop;return E.style.top="".concat(H,"px"),E.setAttribute("readonly",""),E.value=j,E}var Q=function(T,E){var H=v(T);E.container.appendChild(H);var I=p()(H);return m("copy"),H.remove(),I},B=function(T){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},H="";return typeof T=="string"?H=Q(T,E):T instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(T==null?void 0:T.type)?H=Q(T.value,E):(H=p()(T),m("copy")),H},N=B;function O(j){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?O=function(E){return typeof E}:O=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},O(j)}var Qe=function(){var T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},E=T.action,H=E===void 0?"copy":E,I=T.container,q=T.target,Me=T.text;if(H!=="copy"&&H!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(q!==void 0)if(q&&O(q)==="object"&&q.nodeType===1){if(H==="copy"&&q.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(H==="cut"&&(q.hasAttribute("readonly")||q.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(Me)return N(Me,{container:I});if(q)return H==="cut"?h(q):N(q,{container:I})},De=Qe;function $e(j){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?$e=function(E){return typeof E}:$e=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},$e(j)}function Ei(j,T){if(!(j instanceof T))throw new TypeError("Cannot call a class as a function")}function tn(j,T){for(var E=0;E0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof I.action=="function"?I.action:this.defaultAction,this.target=typeof I.target=="function"?I.target:this.defaultTarget,this.text=typeof I.text=="function"?I.text:this.defaultText,this.container=$e(I.container)==="object"?I.container:document.body}},{key:"listenClick",value:function(I){var q=this;this.listener=c()(I,"click",function(Me){return q.onClick(Me)})}},{key:"onClick",value:function(I){var q=I.delegateTarget||I.currentTarget,Me=this.action(q)||"copy",kt=De({action:Me,container:this.container,target:this.target(q),text:this.text(q)});this.emit(kt?"success":"error",{action:Me,text:kt,trigger:q,clearSelection:function(){q&&q.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(I){return vr("action",I)}},{key:"defaultTarget",value:function(I){var q=vr("target",I);if(q)return document.querySelector(q)}},{key:"defaultText",value:function(I){return vr("text",I)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(I){var q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return N(I,q)}},{key:"cut",value:function(I){return h(I)}},{key:"isSupported",value:function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],q=typeof I=="string"?[I]:I,Me=!!document.queryCommandSupported;return q.forEach(function(kt){Me=Me&&!!document.queryCommandSupported(kt)}),Me}}]),E}(a()),Ai=Li},828:function(n){var o=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var i=Element.prototype;i.matches=i.matchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector||i.webkitMatchesSelector}function s(a,f){for(;a&&a.nodeType!==o;){if(typeof a.matches=="function"&&a.matches(f))return a;a=a.parentNode}}n.exports=s},438:function(n,o,i){var s=i(828);function a(u,p,m,d,h){var v=c.apply(this,arguments);return u.addEventListener(m,v,h),{destroy:function(){u.removeEventListener(m,v,h)}}}function f(u,p,m,d,h){return typeof u.addEventListener=="function"?a.apply(null,arguments):typeof m=="function"?a.bind(null,document).apply(null,arguments):(typeof u=="string"&&(u=document.querySelectorAll(u)),Array.prototype.map.call(u,function(v){return a(v,p,m,d,h)}))}function c(u,p,m,d){return function(h){h.delegateTarget=s(h.target,p),h.delegateTarget&&d.call(u,h)}}n.exports=f},879:function(n,o){o.node=function(i){return i!==void 0&&i instanceof HTMLElement&&i.nodeType===1},o.nodeList=function(i){var s=Object.prototype.toString.call(i);return i!==void 0&&(s==="[object NodeList]"||s==="[object HTMLCollection]")&&"length"in i&&(i.length===0||o.node(i[0]))},o.string=function(i){return typeof i=="string"||i instanceof String},o.fn=function(i){var s=Object.prototype.toString.call(i);return s==="[object Function]"}},370:function(n,o,i){var s=i(879),a=i(438);function f(m,d,h){if(!m&&!d&&!h)throw new Error("Missing required arguments");if(!s.string(d))throw new TypeError("Second argument must be a String");if(!s.fn(h))throw new TypeError("Third argument must be a Function");if(s.node(m))return c(m,d,h);if(s.nodeList(m))return u(m,d,h);if(s.string(m))return p(m,d,h);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function c(m,d,h){return m.addEventListener(d,h),{destroy:function(){m.removeEventListener(d,h)}}}function u(m,d,h){return Array.prototype.forEach.call(m,function(v){v.addEventListener(d,h)}),{destroy:function(){Array.prototype.forEach.call(m,function(v){v.removeEventListener(d,h)})}}}function p(m,d,h){return a(document.body,m,d,h)}n.exports=f},817:function(n){function o(i){var s;if(i.nodeName==="SELECT")i.focus(),s=i.value;else if(i.nodeName==="INPUT"||i.nodeName==="TEXTAREA"){var a=i.hasAttribute("readonly");a||i.setAttribute("readonly",""),i.select(),i.setSelectionRange(0,i.value.length),a||i.removeAttribute("readonly"),s=i.value}else{i.hasAttribute("contenteditable")&&i.focus();var f=window.getSelection(),c=document.createRange();c.selectNodeContents(i),f.removeAllRanges(),f.addRange(c),s=f.toString()}return s}n.exports=o},279:function(n){function o(){}o.prototype={on:function(i,s,a){var f=this.e||(this.e={});return(f[i]||(f[i]=[])).push({fn:s,ctx:a}),this},once:function(i,s,a){var f=this;function c(){f.off(i,c),s.apply(a,arguments)}return c._=s,this.on(i,c,a)},emit:function(i){var s=[].slice.call(arguments,1),a=((this.e||(this.e={}))[i]||[]).slice(),f=0,c=a.length;for(f;f{"use strict";/*! + * escape-html + * Copyright(c) 2012-2013 TJ Holowaychuk + * Copyright(c) 2015 Andreas Lubbe + * Copyright(c) 2015 Tiancheng "Timothy" Gu + * MIT Licensed + */var rs=/["'&<>]/;Yo.exports=ns;function ns(e){var t=""+e,r=rs.exec(t);if(!r)return t;var n,o="",i=0,s=0;for(i=r.index;i0&&i[i.length-1])&&(c[0]===6||c[0]===2)){r=0;continue}if(c[0]===3&&(!i||c[1]>i[0]&&c[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function W(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),o,i=[],s;try{for(;(t===void 0||t-- >0)&&!(o=n.next()).done;)i.push(o.value)}catch(a){s={error:a}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(s)throw s.error}}return i}function D(e,t,r){if(r||arguments.length===2)for(var n=0,o=t.length,i;n1||a(m,d)})})}function a(m,d){try{f(n[m](d))}catch(h){p(i[0][3],h)}}function f(m){m.value instanceof et?Promise.resolve(m.value.v).then(c,u):p(i[0][2],m)}function c(m){a("next",m)}function u(m){a("throw",m)}function p(m,d){m(d),i.shift(),i.length&&a(i[0][0],i[0][1])}}function pn(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof Ee=="function"?Ee(e):e[Symbol.iterator](),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(i){r[i]=e[i]&&function(s){return new Promise(function(a,f){s=e[i](s),o(a,f,s.done,s.value)})}}function o(i,s,a,f){Promise.resolve(f).then(function(c){i({value:c,done:a})},s)}}function C(e){return typeof e=="function"}function at(e){var t=function(n){Error.call(n),n.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var It=at(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription: +`+r.map(function(n,o){return o+1+") "+n.toString()}).join(` + `):"",this.name="UnsubscriptionError",this.errors=r}});function Ve(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var Ie=function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,n,o,i;if(!this.closed){this.closed=!0;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var a=Ee(s),f=a.next();!f.done;f=a.next()){var c=f.value;c.remove(this)}}catch(v){t={error:v}}finally{try{f&&!f.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}else s.remove(this);var u=this.initialTeardown;if(C(u))try{u()}catch(v){i=v instanceof It?v.errors:[v]}var p=this._finalizers;if(p){this._finalizers=null;try{for(var m=Ee(p),d=m.next();!d.done;d=m.next()){var h=d.value;try{ln(h)}catch(v){i=i!=null?i:[],v instanceof It?i=D(D([],W(i)),W(v.errors)):i.push(v)}}}catch(v){n={error:v}}finally{try{d&&!d.done&&(o=m.return)&&o.call(m)}finally{if(n)throw n.error}}}if(i)throw new It(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)ln(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&Ve(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&Ve(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();var Sr=Ie.EMPTY;function jt(e){return e instanceof Ie||e&&"closed"in e&&C(e.remove)&&C(e.add)&&C(e.unsubscribe)}function ln(e){C(e)?e():e.unsubscribe()}var Le={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var st={setTimeout:function(e,t){for(var r=[],n=2;n0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(r){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,r)},t.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},t.prototype._innerSubscribe=function(r){var n=this,o=this,i=o.hasError,s=o.isStopped,a=o.observers;return i||s?Sr:(this.currentObservers=null,a.push(r),new Ie(function(){n.currentObservers=null,Ve(a,r)}))},t.prototype._checkFinalizedStatuses=function(r){var n=this,o=n.hasError,i=n.thrownError,s=n.isStopped;o?r.error(i):s&&r.complete()},t.prototype.asObservable=function(){var r=new F;return r.source=this,r},t.create=function(r,n){return new xn(r,n)},t}(F);var xn=function(e){ie(t,e);function t(r,n){var o=e.call(this)||this;return o.destination=r,o.source=n,o}return t.prototype.next=function(r){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.next)===null||o===void 0||o.call(n,r)},t.prototype.error=function(r){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.error)===null||o===void 0||o.call(n,r)},t.prototype.complete=function(){var r,n;(n=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||n===void 0||n.call(r)},t.prototype._subscribe=function(r){var n,o;return(o=(n=this.source)===null||n===void 0?void 0:n.subscribe(r))!==null&&o!==void 0?o:Sr},t}(x);var Et={now:function(){return(Et.delegate||Date).now()},delegate:void 0};var wt=function(e){ie(t,e);function t(r,n,o){r===void 0&&(r=1/0),n===void 0&&(n=1/0),o===void 0&&(o=Et);var i=e.call(this)||this;return i._bufferSize=r,i._windowTime=n,i._timestampProvider=o,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=n===1/0,i._bufferSize=Math.max(1,r),i._windowTime=Math.max(1,n),i}return t.prototype.next=function(r){var n=this,o=n.isStopped,i=n._buffer,s=n._infiniteTimeWindow,a=n._timestampProvider,f=n._windowTime;o||(i.push(r),!s&&i.push(a.now()+f)),this._trimBuffer(),e.prototype.next.call(this,r)},t.prototype._subscribe=function(r){this._throwIfClosed(),this._trimBuffer();for(var n=this._innerSubscribe(r),o=this,i=o._infiniteTimeWindow,s=o._buffer,a=s.slice(),f=0;f0?e.prototype.requestAsyncId.call(this,r,n,o):(r.actions.push(this),r._scheduled||(r._scheduled=ut.requestAnimationFrame(function(){return r.flush(void 0)})))},t.prototype.recycleAsyncId=function(r,n,o){var i;if(o===void 0&&(o=0),o!=null?o>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,r,n,o);var s=r.actions;n!=null&&((i=s[s.length-1])===null||i===void 0?void 0:i.id)!==n&&(ut.cancelAnimationFrame(n),r._scheduled=void 0)},t}(Wt);var Sn=function(e){ie(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.flush=function(r){this._active=!0;var n=this._scheduled;this._scheduled=void 0;var o=this.actions,i;r=r||o.shift();do if(i=r.execute(r.state,r.delay))break;while((r=o[0])&&r.id===n&&o.shift());if(this._active=!1,i){for(;(r=o[0])&&r.id===n&&o.shift();)r.unsubscribe();throw i}},t}(Dt);var Oe=new Sn(wn);var _=new F(function(e){return e.complete()});function Vt(e){return e&&C(e.schedule)}function Cr(e){return e[e.length-1]}function Ye(e){return C(Cr(e))?e.pop():void 0}function Te(e){return Vt(Cr(e))?e.pop():void 0}function zt(e,t){return typeof Cr(e)=="number"?e.pop():t}var pt=function(e){return e&&typeof e.length=="number"&&typeof e!="function"};function Nt(e){return C(e==null?void 0:e.then)}function qt(e){return C(e[ft])}function Kt(e){return Symbol.asyncIterator&&C(e==null?void 0:e[Symbol.asyncIterator])}function Qt(e){return new TypeError("You provided "+(e!==null&&typeof e=="object"?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function zi(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Yt=zi();function Gt(e){return C(e==null?void 0:e[Yt])}function Bt(e){return un(this,arguments,function(){var r,n,o,i;return $t(this,function(s){switch(s.label){case 0:r=e.getReader(),s.label=1;case 1:s.trys.push([1,,9,10]),s.label=2;case 2:return[4,et(r.read())];case 3:return n=s.sent(),o=n.value,i=n.done,i?[4,et(void 0)]:[3,5];case 4:return[2,s.sent()];case 5:return[4,et(o)];case 6:return[4,s.sent()];case 7:return s.sent(),[3,2];case 8:return[3,10];case 9:return r.releaseLock(),[7];case 10:return[2]}})})}function Jt(e){return C(e==null?void 0:e.getReader)}function U(e){if(e instanceof F)return e;if(e!=null){if(qt(e))return Ni(e);if(pt(e))return qi(e);if(Nt(e))return Ki(e);if(Kt(e))return On(e);if(Gt(e))return Qi(e);if(Jt(e))return Yi(e)}throw Qt(e)}function Ni(e){return new F(function(t){var r=e[ft]();if(C(r.subscribe))return r.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function qi(e){return new F(function(t){for(var r=0;r=2;return function(n){return n.pipe(e?A(function(o,i){return e(o,i,n)}):de,ge(1),r?He(t):Dn(function(){return new Zt}))}}function Vn(){for(var e=[],t=0;t=2,!0))}function pe(e){e===void 0&&(e={});var t=e.connector,r=t===void 0?function(){return new x}:t,n=e.resetOnError,o=n===void 0?!0:n,i=e.resetOnComplete,s=i===void 0?!0:i,a=e.resetOnRefCountZero,f=a===void 0?!0:a;return function(c){var u,p,m,d=0,h=!1,v=!1,Q=function(){p==null||p.unsubscribe(),p=void 0},B=function(){Q(),u=m=void 0,h=v=!1},N=function(){var O=u;B(),O==null||O.unsubscribe()};return y(function(O,Qe){d++,!v&&!h&&Q();var De=m=m!=null?m:r();Qe.add(function(){d--,d===0&&!v&&!h&&(p=$r(N,f))}),De.subscribe(Qe),!u&&d>0&&(u=new rt({next:function($e){return De.next($e)},error:function($e){v=!0,Q(),p=$r(B,o,$e),De.error($e)},complete:function(){h=!0,Q(),p=$r(B,s),De.complete()}}),U(O).subscribe(u))})(c)}}function $r(e,t){for(var r=[],n=2;ne.next(document)),e}function K(e,t=document){return Array.from(t.querySelectorAll(e))}function z(e,t=document){let r=ce(e,t);if(typeof r=="undefined")throw new ReferenceError(`Missing element: expected "${e}" to be present`);return r}function ce(e,t=document){return t.querySelector(e)||void 0}function _e(){return document.activeElement instanceof HTMLElement&&document.activeElement||void 0}function tr(e){return L(b(document.body,"focusin"),b(document.body,"focusout")).pipe(ke(1),l(()=>{let t=_e();return typeof t!="undefined"?e.contains(t):!1}),V(e===_e()),J())}function Xe(e){return{x:e.offsetLeft,y:e.offsetTop}}function Kn(e){return L(b(window,"load"),b(window,"resize")).pipe(Ce(0,Oe),l(()=>Xe(e)),V(Xe(e)))}function rr(e){return{x:e.scrollLeft,y:e.scrollTop}}function dt(e){return L(b(e,"scroll"),b(window,"resize")).pipe(Ce(0,Oe),l(()=>rr(e)),V(rr(e)))}var Yn=function(){if(typeof Map!="undefined")return Map;function e(t,r){var n=-1;return t.some(function(o,i){return o[0]===r?(n=i,!0):!1}),n}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(r){var n=e(this.__entries__,r),o=this.__entries__[n];return o&&o[1]},t.prototype.set=function(r,n){var o=e(this.__entries__,r);~o?this.__entries__[o][1]=n:this.__entries__.push([r,n])},t.prototype.delete=function(r){var n=this.__entries__,o=e(n,r);~o&&n.splice(o,1)},t.prototype.has=function(r){return!!~e(this.__entries__,r)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(r,n){n===void 0&&(n=null);for(var o=0,i=this.__entries__;o0},e.prototype.connect_=function(){!Wr||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),va?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){!Wr||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(t){var r=t.propertyName,n=r===void 0?"":r,o=ba.some(function(i){return!!~n.indexOf(i)});o&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),Gn=function(e,t){for(var r=0,n=Object.keys(t);r0},e}(),Jn=typeof WeakMap!="undefined"?new WeakMap:new Yn,Xn=function(){function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var r=ga.getInstance(),n=new La(t,r,this);Jn.set(this,n)}return e}();["observe","unobserve","disconnect"].forEach(function(e){Xn.prototype[e]=function(){var t;return(t=Jn.get(this))[e].apply(t,arguments)}});var Aa=function(){return typeof nr.ResizeObserver!="undefined"?nr.ResizeObserver:Xn}(),Zn=Aa;var eo=new x,Ca=$(()=>k(new Zn(e=>{for(let t of e)eo.next(t)}))).pipe(g(e=>L(ze,k(e)).pipe(R(()=>e.disconnect()))),X(1));function he(e){return{width:e.offsetWidth,height:e.offsetHeight}}function ye(e){return Ca.pipe(S(t=>t.observe(e)),g(t=>eo.pipe(A(({target:r})=>r===e),R(()=>t.unobserve(e)),l(()=>he(e)))),V(he(e)))}function bt(e){return{width:e.scrollWidth,height:e.scrollHeight}}function ar(e){let t=e.parentElement;for(;t&&(e.scrollWidth<=t.scrollWidth&&e.scrollHeight<=t.scrollHeight);)t=(e=t).parentElement;return t?e:void 0}var to=new x,Ra=$(()=>k(new IntersectionObserver(e=>{for(let t of e)to.next(t)},{threshold:0}))).pipe(g(e=>L(ze,k(e)).pipe(R(()=>e.disconnect()))),X(1));function sr(e){return Ra.pipe(S(t=>t.observe(e)),g(t=>to.pipe(A(({target:r})=>r===e),R(()=>t.unobserve(e)),l(({isIntersecting:r})=>r))))}function ro(e,t=16){return dt(e).pipe(l(({y:r})=>{let n=he(e),o=bt(e);return r>=o.height-n.height-t}),J())}var cr={drawer:z("[data-md-toggle=drawer]"),search:z("[data-md-toggle=search]")};function no(e){return cr[e].checked}function Ke(e,t){cr[e].checked!==t&&cr[e].click()}function Ue(e){let t=cr[e];return b(t,"change").pipe(l(()=>t.checked),V(t.checked))}function ka(e,t){switch(e.constructor){case HTMLInputElement:return e.type==="radio"?/^Arrow/.test(t):!0;case HTMLSelectElement:case HTMLTextAreaElement:return!0;default:return e.isContentEditable}}function Ha(){return L(b(window,"compositionstart").pipe(l(()=>!0)),b(window,"compositionend").pipe(l(()=>!1))).pipe(V(!1))}function oo(){let e=b(window,"keydown").pipe(A(t=>!(t.metaKey||t.ctrlKey)),l(t=>({mode:no("search")?"search":"global",type:t.key,claim(){t.preventDefault(),t.stopPropagation()}})),A(({mode:t,type:r})=>{if(t==="global"){let n=_e();if(typeof n!="undefined")return!ka(n,r)}return!0}),pe());return Ha().pipe(g(t=>t?_:e))}function le(){return new URL(location.href)}function ot(e){location.href=e.href}function io(){return new x}function ao(e,t){if(typeof t=="string"||typeof t=="number")e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(let r of t)ao(e,r)}function M(e,t,...r){let n=document.createElement(e);if(t)for(let o of Object.keys(t))typeof t[o]!="undefined"&&(typeof t[o]!="boolean"?n.setAttribute(o,t[o]):n.setAttribute(o,""));for(let o of r)ao(n,o);return n}function fr(e){if(e>999){let t=+((e-950)%1e3>99);return`${((e+1e-6)/1e3).toFixed(t)}k`}else return e.toString()}function so(){return location.hash.substring(1)}function Dr(e){let t=M("a",{href:e});t.addEventListener("click",r=>r.stopPropagation()),t.click()}function Pa(e){return L(b(window,"hashchange"),e).pipe(l(so),V(so()),A(t=>t.length>0),X(1))}function co(e){return Pa(e).pipe(l(t=>ce(`[id="${t}"]`)),A(t=>typeof t!="undefined"))}function Vr(e){let t=matchMedia(e);return er(r=>t.addListener(()=>r(t.matches))).pipe(V(t.matches))}function fo(){let e=matchMedia("print");return L(b(window,"beforeprint").pipe(l(()=>!0)),b(window,"afterprint").pipe(l(()=>!1))).pipe(V(e.matches))}function zr(e,t){return e.pipe(g(r=>r?t():_))}function ur(e,t={credentials:"same-origin"}){return ue(fetch(`${e}`,t)).pipe(fe(()=>_),g(r=>r.status!==200?Ot(()=>new Error(r.statusText)):k(r)))}function We(e,t){return ur(e,t).pipe(g(r=>r.json()),X(1))}function uo(e,t){let r=new DOMParser;return ur(e,t).pipe(g(n=>n.text()),l(n=>r.parseFromString(n,"text/xml")),X(1))}function pr(e){let t=M("script",{src:e});return $(()=>(document.head.appendChild(t),L(b(t,"load"),b(t,"error").pipe(g(()=>Ot(()=>new ReferenceError(`Invalid script: ${e}`))))).pipe(l(()=>{}),R(()=>document.head.removeChild(t)),ge(1))))}function po(){return{x:Math.max(0,scrollX),y:Math.max(0,scrollY)}}function lo(){return L(b(window,"scroll",{passive:!0}),b(window,"resize",{passive:!0})).pipe(l(po),V(po()))}function mo(){return{width:innerWidth,height:innerHeight}}function ho(){return b(window,"resize",{passive:!0}).pipe(l(mo),V(mo()))}function bo(){return Y([lo(),ho()]).pipe(l(([e,t])=>({offset:e,size:t})),X(1))}function lr(e,{viewport$:t,header$:r}){let n=t.pipe(ee("size")),o=Y([n,r]).pipe(l(()=>Xe(e)));return Y([r,t,o]).pipe(l(([{height:i},{offset:s,size:a},{x:f,y:c}])=>({offset:{x:s.x-f,y:s.y-c+i},size:a})))}(()=>{function e(n,o){parent.postMessage(n,o||"*")}function t(...n){return n.reduce((o,i)=>o.then(()=>new Promise(s=>{let a=document.createElement("script");a.src=i,a.onload=s,document.body.appendChild(a)})),Promise.resolve())}var r=class extends EventTarget{constructor(n){super(),this.url=n,this.m=i=>{i.source===this.w&&(this.dispatchEvent(new MessageEvent("message",{data:i.data})),this.onmessage&&this.onmessage(i))},this.e=(i,s,a,f,c)=>{if(s===`${this.url}`){let u=new ErrorEvent("error",{message:i,filename:s,lineno:a,colno:f,error:c});this.dispatchEvent(u),this.onerror&&this.onerror(u)}};let o=document.createElement("iframe");o.hidden=!0,document.body.appendChild(this.iframe=o),this.w.document.open(),this.w.document.write(` + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

What is a Campaign?

+

A campaign is a collection of up to 25 tracks with it's own leaderboard.

+

Create a campaign

+

When you select the option to create a campaign the following menu will appear:

+

Create Campaign Image

+

This menu has the following options: +1. Add a thumbnail for the campaign. +2. Change the name of the campaign. +3. Set the access for the campaign to public or members of the club only. +4. Add one or more maps to the campaign. +5. Finalize and publish the campaign.

+

Adding maps

+

Choosing to add maps to the campaign will open the Track Browser.

+

Map Browser Image

+

From here you can select maps from your My Tracks, Favorites, Official (maps from the official campaigns and track of the day) and Clubs (maps from campaigns of clubs you've joined).

+
+

Author: Henkisme

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/activities/competition/index.html b/club/activities/competition/index.html new file mode 100644 index 0000000..f23cba6 --- /dev/null +++ b/club/activities/competition/index.html @@ -0,0 +1,2116 @@ + + + + + + + + + + + + + + + + + + + + + + Competition - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

What are Competitions?

+

Competition activities allow for the creation of ingame competitive events via the usage of the Competition Tool.

+

These activities cannot be created in the game and instead have to be created on the Competition Tool website.

+

For more help with the competition tool, please refer to the Competition Tool category of this documentation.

+
+

Author: Chris92

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/activities/news/index.html b/club/activities/news/index.html new file mode 100644 index 0000000..630cc54 --- /dev/null +++ b/club/activities/news/index.html @@ -0,0 +1,2166 @@ + + + + + + + + + + + + + + + + + + + + + + News - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

What are News?

+

The News activity can be used to share updates and information with your club.

+

Create a news activity

+

When creating a News activity you will be presented with the following menu:

+

Create News Image

+

The two '+' buttons are used add images to the activity, the upper one will show on the main club page and the lower one will appear next to the news article. Both these images are optional.

+

The Name, Headline and Body texboxes must be filled in and will after publishing the activity to the club be presented in the following manner:

+

View News Image

+
+

Author: Henkisme

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/activities/rankings/index.html b/club/activities/rankings/index.html new file mode 100644 index 0000000..dd688f1 --- /dev/null +++ b/club/activities/rankings/index.html @@ -0,0 +1,2170 @@ + + + + + + + + + + + + + + + + + + + + + + Rankings - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

What are Rankings?

+

The Rankings activity can be used to display a leaderboard of the club members on specific campaigns or tracks.

+

Create a rankings activity

+

When creating a Rankings activity you will be presented with the following menu:

+

Create Rankings Image

+

Here you can choose from the following:

+ +

After you have made your choice all that is needed now is a name and an optional image, after that the activity can be published.

+
+

Author: Henkisme

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/activities/room/index.html b/club/activities/room/index.html new file mode 100644 index 0000000..bade120 --- /dev/null +++ b/club/activities/room/index.html @@ -0,0 +1,2266 @@ + + + + + + + + + + + + + + + + + + + + + + Room - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

What is a Room?

+

Arcade channels, also known as arcade rooms , are online multiplayer servers that can feature a variety of game modes and user-generated tracks. +The most common game mode you'll see played on the channels is "Time Attack", a mode where the goal is to set the best time possible within a given timeframe. +You can find a curated list of arcade channels by navigating as follows from the main menu: Play -> Live -> Arcade

+

Create a room activity

+

When you create a Room activity, you have the choice between three options.

+
    +
  • Select A Campaign
  • +
  • Select Tracks
  • +
  • Use Your Dedicated Server
  • +
+

See below for the details of each of these options.

+

Select A Campaign

+

If you choose this option, you can easily create a multiplayer room for one of your existing club campaigns.

+

Simply select the campaign of your choosing and then you will be greeted with a screen where you can select several options which are explained in detail below.

+

Select Tracks

+

If you choose this option, you can easily create a multiplayer room with a selection of your favorite tracks.

+

Keep in mind, that there is an upper limit of 100 tracks per Arcade Room. After selecting your tracks, you will be greeted with a screen where you can select several options which are explained in detail below.

+

Use Your Dedicated Server (Advanced)

+

If you choose this option, you can select a dedicated server login you want to use for this activity.

+

This option requires you to host a Trackmania server by yourself, but allows you to run custom game modes, connect external tools to the server via the XML-RPC interface, etc.

+
+

Dedicated servers are strictly PC only

+

Due to platform restrictions, Dedicated Servers can only be joined via the PC version of the Trackmania.

+

If you want to create a room that allows for cross-platform play, please use the "Select A Campaign" or "Select Tracks" options instead.

+
+

For an in-depth tutorial on how to setup a dedicated server, please refer to this guide.

+

Room settings

+

The Room settings allows you to tweak and fine tune the multiplayer experience on your arcade room to your liking.

+

You can change the following:

+
    +
  • Room name: This is how the room appears in your club and in the Arcade room list. (Maximum length: 20 characters)
  • +
  • Privacy: If the room is set to private, players must be a member of your club to be able to join the room.
  • +
  • Server location: You can choose between two locations: "EU West" and "Canada Central".
  • +
  • Max players per server: This allows you to change the maximum amount of players per server. (Range: 1-100)
  • +
  • Game mode: Choice between these modes: Time Attack, Rounds, Laps, Knockout, Cup, Teams.
  • +
  • Game mode settings: Allows you to fine tune the settings of the game mode, e.g. the Time Attack timelimit or the points needed for a team to win in Teams mode.
  • +
  • Scalable room: This allows the server to split if the player numbers are approaching the maximum amount of players.
  • +
  • Password: Once activated, players require a password to join the server. The password can be seen by Club Owners/Admins in the Room window after this option has been enabled.
  • +
+
+

Author: Chris92

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/activities/skin-uploads/index.html b/club/activities/skin-uploads/index.html new file mode 100644 index 0000000..16eab53 --- /dev/null +++ b/club/activities/skin-uploads/index.html @@ -0,0 +1,2187 @@ + + + + + + + + + + + + + + + + + + + + + + Skin Uploads - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

What are Skin Uploads?

+
+

Uploading only available on PC

+

Uploading Car Skins to the Skin Upload activity can only be done on the PC version of Trackmania.

+
+

The Skin Uploads activity can be used to share custom skins with either the public or members of the club.

+

Create a skin uploads activity

+

Note: You will not be able to add skins yet when creating a skin uploads activity, to do this you have to interact with the activity on the club page after it is created.

+

To create a Skin Uploads activity the only thing that is required is a name for the activity, optionally you can also choose to add an image to the activity.

+

Create Skin Uploads Image

+

The '+' button is used to select an image for the activity, the name can be entered in the textbox. +After choosing a name and an optional image you can punlish the activity to the club by selecting the "Create" Button.

+

Uploading skins

+

To add skins to the Skin Uploads activity simply select it from the homepage of the club and select the "Upload Skin" button. +From here you can choose skins to upload located in Documents\Trackmania\Skins\Models\CarSport

+
+

Author: Henkisme

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/activities/track-review/index.html b/club/activities/track-review/index.html new file mode 100644 index 0000000..df9cbda --- /dev/null +++ b/club/activities/track-review/index.html @@ -0,0 +1,2198 @@ + + + + + + + + + + + + + + + + + + + + + + Track Reviews - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

What is Track Review?

+

The Track Review activity can be used to collect and provide ratings and feedback on tracks.

+
+

This is different from the TOTD Map Review activity

+
+

The Track Review club activity does not put tracks into the pool for potential Track of the Day candidates, for more information see What Is Map Review.

+

Create a track review activity

+

When creating a Track Review activity you will be presented with the following menu:

+

Create Track Review Image

+

The '+' button is used to select an image for the activity, a name for the activity must be entered in the textbox.

+
    +
  • Max Players: The maximum amount of players that can join a single map review server.
  • +
  • Time per Track (sec): The amount of time in seconds that will be spent playing each track.
  • +
  • Scalable Servers: If this setting is turned on another track review server will be created if when the maximum amount of players for a server is reached.
  • +
  • Allow Vote to Skip Track: If this setting is turned on players will be able to start a vote to skip to the next track.
  • +
  • Limit to 1 Track Upload per Hour: If this setting is turned on players will only be able to submit a track once per hour to the activity.
  • +
+

After you've applied the wanted settings you can punlish the activity to the club by selecting the "Create" Button.

+

Using the track review activity

+

Track Review Activity Image

+
    +
  • The administration button on the top right is only available to people with the Creator, Admin or Content Creator role for the club. Selecting this will take you to a page listing all submitted tracks and their ratings.
  • +
  • Review Other Tracks will take you to the review server to test and rate the tracks.
  • +
  • Submit Your Tracks will let you opload maps from your collection to the track review activity.
  • +
  • My Submitted Maps will take you to a page listing the ratings of only the tracks that you have submitted to the activity.
  • +
+
+

Author: Henkisme

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/activities/track-uploads/index.html b/club/activities/track-uploads/index.html new file mode 100644 index 0000000..ffd6084 --- /dev/null +++ b/club/activities/track-uploads/index.html @@ -0,0 +1,2183 @@ + + + + + + + + + + + + + + + + + + + + + + Track Uploads - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

What are Track Uploads?

+

The Track Uploads activity can be used to share tracks with either the public or members of the club.

+

Create a track uploads activity

+

Note: You will not be able to add tracks yet when creating a track uploads activity, to do this you have to interact with the activity on the club page after it is created.

+

To create a Track Uploads activity the only thing that is required is a name for the activity, optionally you can also choose to add an image to the activity.

+

Create Track Uploads Image

+

The '+' button is used to select an image for the activity, the name can be entered in the textbox. +After choosing a name and an optional image you can punlish the activity to the club by selecting the "Create" Button.

+

Uploading tracks

+

To add tracks to the Track Uploads activity simply select it from the homepage of the club and select the "Upload a Track" button. +From here you can choose one or more tracks from the Track Browser.

+
+

Author: Henkisme

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/competition-tool/administration/index.html b/club/competition-tool/administration/index.html new file mode 100644 index 0000000..90d213f --- /dev/null +++ b/club/competition-tool/administration/index.html @@ -0,0 +1,2117 @@ + + + + + + + + + + + + + + + + + + + + + + Administration - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Administration

+

This section contains guides on administrative actions for Competitions, such as adding players/spectators to a competition, match server management, among other things.

+

You can view a list of all competition you created, or that you're an admin of, on this page.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/competition-tool/administration/players-teams/index.html b/club/competition-tool/administration/players-teams/index.html new file mode 100644 index 0000000..aaa4bc1 --- /dev/null +++ b/club/competition-tool/administration/players-teams/index.html @@ -0,0 +1,2186 @@ + + + + + + + + + + + + + + + + + + + + + + Adding players & teams - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Adding players & teams

+

As a competition administrator, you have the ability to add/remove players/teams.

+

Adding a player

+

Click on the "Participants" menu on the left sidebar and you will be redirected to this page.

+

Participants list page

+

This is where all the participants in your competitions are listed. You can add/remove players, manually set a seed, as well as automatically determining seeds for all players based on their skill level.

+

Click on "Add participant" to add a player. Then, insert the Account ID of the player, and the designated role. You can look up for a certain player's Account ID by going to trackmania.io and searching for their username.

+

Adding teams

+

Since registrations are handled manually for Team events, you will have to manually add teams competing in your competition by yourself. Click the "Teams" menu on the left sidebar and you will be redirected to this page.

+

Teams list page

+

Click on "Add team" to add a team. Insert the name of the team, and a seed (if any).

+

Then, insert the Account ID of the player, and the designated role. You can look up for a certain player's Account ID by going to trackmania.io and searching for their username.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/competition-tool/administration/server-commands/index.html b/club/competition-tool/administration/server-commands/index.html new file mode 100644 index 0000000..7a56541 --- /dev/null +++ b/club/competition-tool/administration/server-commands/index.html @@ -0,0 +1,2219 @@ + + + + + + + + + + + + + + + + + + + + + + Server commands - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Server commands

+

Below is a list of commands that are useful for general administration. Of course, you can always type /help in the server chat to see a list of all the commands available to you.

+

Contents of the /help command in match server

+
+

Warning

+

The list below is incomplete. Use /help in a match server to see all the available commands.

+
+

Match commands

+
    +
  • /matchstart - Reset the track playlist and start the match.
  • +
  • /matchlightstart - Start the match in the current state.
  • +
  • /matchstatus - View the current match status.
  • +
  • /matchcancel - Cancel the ongoing match.
  • +
  • /forceplayers - Force everyone in the server as a player.
  • +
+

Pick & Ban commands

+
    +
  • /pickban - Start the pick & ban phase.
  • +
  • /pickbanorder [order] - Force a specific pick/ban order on a match server. (e.g. /pickbanorder b:0,b:1,p:0,p:1)
  • +
+

Administrative commands

+
    +
  • /help - Shows a list of all commands. Use /help [commandname] (e.g. /help setmatchpoints) to read a usage guide on the requested command.
  • +
  • /pause - Skips any ongoing round and activates the pause procedure.
  • +
  • /unpause - Resumes the match.
  • +
  • /forceendround - Ends the ongoing round.
  • +
  • /forceendwarmup - Ends the ongound warmup.
  • +
  • /listmaps - Lists the maps played in the current match.
  • +
  • /forcespectator [username] - Forces a server member as a spectator.
  • +
  • /forceplayer [username] - Forces a server member as a player.
  • +
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/competition-tool/administration/spectators/index.html b/club/competition-tool/administration/spectators/index.html new file mode 100644 index 0000000..de13403 --- /dev/null +++ b/club/competition-tool/administration/spectators/index.html @@ -0,0 +1,2171 @@ + + + + + + + + + + + + + + + + + + + + + + Adding spectators - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Adding spectators

+

Each match server in a competition is whitelisted so that only the players registered for a certain match can join said server.

+

However, sometimes you would like to add spectators to all matches in a competition, for example to allow casters and referees to spectate on a match. This section will explain how to add spectators to your competition.

+

Screenshot of the Spectators menu on the Competition tool

+

To add spectators, click on "Add spectator". Then, insert the Account ID of the spectator, and the designated role. You can look up for a certain spectator's Account ID by going to trackmania.io and searching for their username.

+

Roles

+
    +
  • Standard: The most basic role which only gives spectator access to all the match servers.
  • +
  • Referee: This role gives a spectator additional access to match administration commands (e.g. pausing and unpausing).
  • +
  • Admin: This is the highest role of a spectator which gives access to all rounds and match administration commands.
  • +
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/competition-tool/create-competition/index.html b/club/competition-tool/create-competition/index.html new file mode 100644 index 0000000..dcea4cc --- /dev/null +++ b/club/competition-tool/create-competition/index.html @@ -0,0 +1,2264 @@ + + + + + + + + + + + + + + + + + + + + + + Creating a competition - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Creating a competition

+
+

Club permissions

+

In order to create and manage Competitions for a club you must either have the Creator, Admin or Content Creator role for that club.

+
+

To create a Competition activity, you need to visit the Competition Tool website. To get started, log in to the Competition Tool using your Ubisoft account, and then click on "Create Competition."

+

Basic Information

+

When you click on "Create Competition," you will be taken to a form where you can enter the basic information about your competition. This is the first step in the competition creation process.

+

Screenshot of the Create Competition page

+

The form will include the following fields:

+
    +
  • Name: Enter the name of your competition in this field.
  • +
  • Club: A competition must be associated with a club. Use the dropdown list to select the club you want to link the competition to.
  • +
  • Description: This is an optional field. If you want, you can provide a description for your competition that will appear on the Event page in-game. This field supports Trackmania's custom text formatting.
  • +
  • Rules: If your competition has a rulebook, you can link to it in this field. If you include a rulebook, players will need to tick a checkbox indicating that they agree to the competition rules before they can register.
  • +
+
+

Club competitions and Events menu

+

To make your Competition visible through the Play > Live > Events menu by default, the Club linked to the competition must have a "Verified" status. You can request verification for your Club by visiting the Club's Admin page. To view a list of the clubs you own or are a member of, click on this link.

+

However, if the Club tied to the competition is not verified, you can still find the competition by using the search box and manually looking for the event.

+
+

Team competitions

+

To create a Team competition, you can tick the "Competition with teams" checkbox. This will set the upcoming steps of the competition creation process to accomodate Team competitions.

+

Registrations

+

On the next step, you will input regisration details, should you want to open registrations for your event. If you would like to manually register players into your event, uncheck the "Enable registrations" toggle switch and follow this guide to manually add players.

+
+

Registrations unavailable for Team competitions

+

Registrations are handled manually on Team competitions, as there is no in-game registration for Team competitions. You will have to manually add teams and players using the Teams menu.

+

To handle registrations for Team competitions, you can use third-party tools like Challonge or Toornament.

+
+

Screenshot of the Registration step Create Competition page

+

This section of the form includes the following fields:

+
    +
  • Start date: Enter the date when registration starts in your local time.
  • +
  • End date: Enter the date when registration ends in your local time.
  • +
  • Maximum players registered: If your competition has an upper limit for number of players registered, change this option. If not, then leave this setting as it is.
  • +
  • Allowed zones: This is used to limit registrations of the competitions to certain regions (see examples below). List all the zone strings allowed to register for the event, separated by commas. Leaving it blank will open registrations to players around the world.
  • +
+

You can change registration times any time after your competition has been created.

+
+

Examples for allowed zones

+

To limit registration to the entire Asia and Oceania continent:

+
World|Asia, World|Oceania
+
+

To limit registrations to France, Belgium, Monaco, and Switzerland:

+
World|Europe|France, World|Europe|Belgium, World|Europe|Monaco, World|Europe|Switzerland
+
+
+

What's next

+

In the next section, you will learn how to add qualifiers and rounds to your competition.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/competition-tool/create-competition/qualifier/index.html b/club/competition-tool/create-competition/qualifier/index.html new file mode 100644 index 0000000..4905508 --- /dev/null +++ b/club/competition-tool/create-competition/qualifier/index.html @@ -0,0 +1,2426 @@ + + + + + + + + + + + + + + + + + + + + + + Adding a qualifier - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Adding a qualifier

+
+

Info

+

Qualifier rounds are only available on Solo competitions.

+
+

A qualifier (also known as a round challenge) is the phase of a competition to determine the seeding of a player. The seeding will be determined based on the placements the players received during a qualifier.

+

This can be used to determine if a player will qualify to the bracket phase of a competition.

+

If your competition does not have a qualifier phase, you can skip this step.

+

Create a qualifier

+

In this section, we will create a qualifier using the manual structure editor in the competition tool. If you would like to use the structure importer, go to this page.

+

Manual structure selected in the Structure Format screen of the Competition tool

+

Click on "Add qualifier" and you will be redirected to this screen.

+

Add qualifier screen

+

This is the first section of the Add qualifier screen. It contains the following fields:

+
    +
  • Name: The name of your qualifier round.
  • +
  • Start date: Enter the date when qualifier starts in your local time.
  • +
  • End date: Enter the date when qualifier ends in your local time.
  • +
  • Leaderboard score: The scoring system used to determine placements during a qualifier. Click here to read about what the different scoring systems mean.
  • +
  • Script: The gamemode (script) used for the qualifier round. Only Time Attack is available for qualifier rounds.
  • +
  • Max players: The maximum amount of players available in a server. Around 30 minutes before the start of a qualifier, the system will automatically create servers based on the number of players registered compared to the number of max players in a server.
  • +
+
+

Important

+

You can alter all the dates & times after creation, including the rounds and registration times. However, please take note of the following limitations:

+
    +
  • Any round has to have a start date that's later than the previous round's end date.
  • +
  • You also can't have two rounds running at the same time.
  • +
+
+

Adding maps

+

The next section of the form will allow you to add maps for the qualifier round.

+

The map selection menu

+

You can add maps in one of two ways:

+
    +
  • Adding them from your in-game favourites
  • +
  • Manually adding map via a specific unique ID
  • +
+
+

Important

+

You can only select maps that have been uploaded to Nadeo's servers.

+

Uploading a map to Nadeo's servers will give it a unique ID, which you can look up by going to trackmania.io.

+

As always, you can add a map to your in-game favourites and add the map that way.

+
+

Maps will be played in the order which they were added. As always, you can change the order of a map playlist within the competition tool.

+

The map playlist field

+
+

Tip

+

The map playlist will be automatically reset before the start of each round.

+

If you would like to add a "waiting room" map for a competition round, you can enter it as the first map on the playlist, then immediately remove it between when the servers were created and before the round starts.

+
+

Settings

+

The next section allows you to modify settings for the script (game mode) and the server plugin.

+

Script and plugin settings screen

+
    +
  • Script settings: Modify the settings for the Time Attack mode used for the qualifier.
    See here for a reference on all the available script settings.
  • +
  • Plugin settings: Modify the settings for the Competition management plugin.
    See here for a reference on all the available plugin settings.
  • +
+

Leaderboard score

+

To determine placements for a qualifier, you can choose between multiple scoring systems.

+

Skillpoints

+

This is the default and recommended scoring system, which utilises skill points. Skill points are given per map, and the total skill points from all qualifier maps will be used to determine placements. Higher skill points from will mean higher placement.

+

The following skill points are given based on the player's rank on any given map:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PositionPoints
140,000 points
228,000 points
324,000 points
420,000 points
518,000 points
616,000 points
714,000 points
812,000 points
910,000 points
1010,000 points
118,000 points
128,000 points
136,000 points
146,000 points
154,000 points
164,000 points
17-100(20,000 / rank + 1,800) points
101-1000(100,000 / rank + 900) points
1001-10000(500,000 / rank + 450) points
10001-100000(2,500,000 / rank + 225) points
+
+

More examples

+
    +
  • Rank 20: 2800 points
  • +
  • Rank 80: 2050 points
  • +
  • Rank 101: 1890 points
  • +
  • Rank 999: 1000 points
  • +
  • Rank 1,001: 949 points
  • +
  • Rank 9,999: 500 points
  • +
  • Rank 10,001: 474 points
  • +
  • Rank 100,000: 250 points
  • +
+
+

Ranks

+

This scoring system uses the sum players' ranks from each map in the qualifier to determine the placements. Lower total ranks will mean higher placement.

+

Times

+

This scoring system uses players' total times from each map in the qualifier to determine the placements.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/competition-tool/create-competition/rounds/index.html b/club/competition-tool/create-competition/rounds/index.html new file mode 100644 index 0000000..f6f8119 --- /dev/null +++ b/club/competition-tool/create-competition/rounds/index.html @@ -0,0 +1,2295 @@ + + + + + + + + + + + + + + + + + + + + + + Adding rounds - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Adding rounds

+

In this section, we will create a round using the manual structure editor in the competition tool. If you would like to use the structure importer, go to this page.

+

Manual structure selected in the Structure Format screen of the Competition tool

+

Create a round

+

If you just finished creating a qualifier from the previous section, you will be automatically redirected to the round creation screen. Otherwise, click on "Add round" and you will be redirected to this screen.

+

Add round screen

+

This is the first section of the Add round screen. It contains the following fields:

+
    +
  • Name: The name of your round.
  • +
  • Start date: Enter the date when the round starts in your local time.
  • +
  • End date: Enter the date when the round ends in your local time.
  • +
  • Qualifier: If your round has a qualifier, select the qualifier round it's tied to.
  • +
  • Script: The gamemode (script) used for the round.
  • +
  • Max players: The maximum amount of players available in a server.
  • +
  • Max spectators: The maximum amount of spectators available in a server. Click here to learn more on how to add spectators.
  • +
+
+

Important

+

You can alter all the dates & times after creation, including the rounds and registration times. However, please take note of the following limitations:

+
    +
  • Any round has to have a start date that's later than the previous round's end date.
  • +
  • You also can't have two rounds running at the same time.
  • +
+
+

Adding maps

+

The next section of the form will allow you to add maps for the round.

+

The map selection menu

+

You can add maps in one of two ways:

+
    +
  • Adding them from your in-game favourites
  • +
  • Manually adding map via a specific unique ID
  • +
+
+

Important

+

You can only select maps that have been uploaded to Nadeo's servers.

+

Uploading a map to Nadeo's servers will give it a unique ID, which you can look up by going to trackmania.io.

+

As always, you can add a map to your in-game favourites and add the map that way.

+
+

Maps will be played in the order which they were added. As always, you can change the order of a map playlist within the competition tool.

+

If your competition has a Pick & Ban phase, this will list all the maps available to pick/ban.

+

The map playlist field

+
+

Tip

+

The map playlist will be automatically reset before the start of each round.

+

If you would like to add a "waiting room" map for a competition round, you can enter it as the first map on the playlist, then immediately remove it between when the servers were created and before the round starts.

+
+

Settings

+

The next section allows you to modify settings for the script (game mode) and the server plugin.

+

Script settings screen +Plugin settings screen

+
    +
  • Script settings: Modify the settings for the Time Attack mode used for the qualifier.
    See here for a reference on all the available script settings.
  • +
  • Plugin settings: Modify the settings for the Competition management plugin.
    See here for a reference on all the available plugin settings.
  • +
+

Adding matches

+

After creating your round, you will be redirected to the match creation screen. This will allow you to add matches for the round.

+

Match creation screen

+

Click "Add match" to add a new match.

+

Match creation screen

+

Here you can add participants for each match. They can come from different sources:

+
    +
  • Results from a qualifier.
  • +
  • Results from a previous round match.
  • +
  • Registered participants with a seed. You will be able to set the seed for each participant from the Players page after creating the event.
  • +
  • Registered participants with a rank from this competition leaderboard
  • +
+

After adding a match, you can review the participants on each match by expanding/collapsing them.

+

Match participants list screen

+

Click "Save". You will then be able to review all your competition's rounds and their structure.

+

Match participants list screen

+

Once you're happy with how your rounds are structured, click "Create".

+

Congratulations, your competition is created!

+

Your created competition in your Club page

+

Your created competition page

+

What's next

+
    +
  • If you would like to learn about importing a preset structure for your competition, go to Structure importer.
  • +
  • Otherwise, click here to learn more about what you can do as a competition administrator.
  • +
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/competition-tool/create-competition/structure-importer/index.html b/club/competition-tool/create-competition/structure-importer/index.html new file mode 100644 index 0000000..b88cee6 --- /dev/null +++ b/club/competition-tool/create-competition/structure-importer/index.html @@ -0,0 +1,2209 @@ + + + + + + + + + + + + + + + + + + + + + + Structure importer - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Using the structure importer

+

Creating rounds can be done manually through the competition tool.

+

However, to save time on creating rounds, you can always use the structure importer and import a structure object file to quickly generate rounds based on your saved structure. This allows you to easily reuse bracket formats across multiple competitions.

+

If you would like to add rounds manually through the competition tool instead, go to this page.

+

Reference

+

Click here to read a reference on structure objects and some examples.

+

Importing your structure

+

In the "Structure format" step of the competition creation form, click on "Import structure". You will see the following text area.

+

Structure screen

+

If you have a structure object ready for use, copy and paste the raw JSON text of your structure object. Click on "Next step structure" and you should have all of your rounds created!

+

From here on out, tweak the settings of each round (e.g. start/end times, round names, maps, script/plugin settings) to your preferences.

+
+

Important

+

If your rounds collects participants from a qualifier round, don't forget to tick the "Add qualifier" checkbox. This will add a qualifier as the very first round of your competition.

+
+

Saving structures for future use

+

After your competition is created, you can locate your structure object and save it for future use. From your competition's admin page, go to the Structure page. Here you will see all the rounds for your competition.

+

Structure screen

+

Click on the "Show Structure" button to view a JSON representation of your rounds. This is your structure object.

+

Show structure

+

To save the current structure, you can copy and paste everything in this field into a text file, and run it through the structure importer again the next time you create a new event.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/competition-tool/index.html b/club/competition-tool/index.html new file mode 100644 index 0000000..4d69eac --- /dev/null +++ b/club/competition-tool/index.html @@ -0,0 +1,2166 @@ + + + + + + + + + + + + + + + + + + + + + + Competition tool - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Competition tool

+
+

Club permissions

+

In order to create and manage Competitions for a club you must either have the Creator, Admin or Content Creator role for that club.

+
+

The Competition tool is provided for club administrators to create and manage Competition activities in Trackmania.

+

Accessing the Competition tool

+

You can find the Competition tool on this link. You have to sign in with your Ubisoft account to access the Competition tool dashboard.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/competition-tool/plugin-settings/index.html b/club/competition-tool/plugin-settings/index.html new file mode 100644 index 0000000..bed8411 --- /dev/null +++ b/club/competition-tool/plugin-settings/index.html @@ -0,0 +1,2524 @@ + + + + + + + + + + + + + + + + + + + + + + Plugin settings - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Competition plugin settings

+

Below is a reference of plugin settings available to use on the competition tool.

+
+

Be careful with value types

+

Each server setting has its specific type. If you input these values into the Round settings screen, it will be automatically converted to the selected type.

+

For example, if you would like to set a setting value to an empty string (""), you need to leave the value field blank.

+
+

Ads

+

Display a carousel of images.

+ + + + + + + + + + + + + + + + + +
Setting nameTypeDefault valueDescription
S_AdImageUrlsString""Urls separated by a pipe character (\|).
Add a value to enable the plugin.
+

Qualifier

+

Settings used for qualifiers (round challenges).

+ + + + + + + + + + + + + + + + + +
Setting nameTypeDefault valueDescription
S_UsePlayListCompleteBooleanFalseComplete the challenge when the map playlist is over for the first time (forbid playlist loop).
+

Competition whitelist

+

Allow only the players registered to a competition to join a server.

+ + + + + + + + + + + + + + + + + + + + + + + +
Setting nameTypeDefault valueDescription
S_UseCompetitionWhitelistPluginBooleanFalseEnable the plugin.
S_CompetitionIdString""ID of the competition.
+

Match management

+

Automatically enabled for all matches.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Setting nameTypeDefault valueDescription
S_AutoStartModeString""Possible values:
- "": disabled
- "delay": automatically start the match at start date + delay
- "light": the match starts automatically right away after the server starts.
S_AutoStartDelayInteger600Delay in seconds used by the "delay" mode.
S_PickBanStartAutoBooleanFalseAutomatically start a Pick & Ban phase 10 minutes before the match start.
S_PickBanOrderString""Sequence of string separated by a comma. Starting with "p" for pick or "b" for ban, followed by ":" and a number representing team position, player position or "r" for random (e.g. "b:1,b:0,p:0,p:1,p:r").
See more examples below.
S_EnableReadyManagerBooleanTrueDo not depends on players readiness to automatically start the match
S_UseAutoReadyBooleanFalseA connected player is automatically considered ready
S_ReadyStartRatioInteger1.0Minimum value the ratio “ready players”/“all players” must reach to start the match
S_ReadyMinimumTeamSizeInteger1The minimum number of members a team needs to be considered ready
S_DisableForceSpectatorOnCompleteBooleanFalseDo not force all players in spectator mode when the match is over
+
+

Examples for Match autostart

+

Start the match when all players are ready for the match, with 10-minute delay tolerance:

+
S_AutoStartMode = delay
+S_AutoStartDelay = 600
+
+
+
+

Examples for S_PickBanOrder

+

Let's say Team A and Team B are participating in a match. Since Team A has the higher seed, they're listed first in the match participants list.

+

Team A and Team B listed in the match participants list.

+

Our pick and ban order is as follows.

+

Lower seed ban +-> Higher seed ban +-> Higher seed pick +-> Lower seed pick +-> Lower seed pick +-> Higher seed pick +-> Higher seed ban +-> Lower seed ban +-> Random pick

+

Since we already know that the higher seeded team is at position 0, and the lower seeded team is at position 1, we can set the S_PickBanOrder settings as follows:

+
b:1,b:0,p:0,p:1,p:1,p:0,b:0,b:1,p:r
+
+

The same can be done for solo competitions, where there can be more than 2 participants in a match.

+
b:3,b:2,b:1,b:0,p:0,p:1,p:2,p:3
+
+

The above setting can be read as follows: "start the ban phase from the lower seed to higher seed, then run the pick phase in reverse"

+
+

Message timer

+

Send a message in the chat every 75 seconds.

+ + + + + + + + + + + + + + + + + +
Setting nameTypeDefault valueDescription
S_MessageTimerString""The message to send. Add a value to enable the plugin.
+

Minimum rank

+

Display a popup and UI in-game to inform the players about the minimum rank required to qualify for the next round.

+ + + + + + + + + + + + + + + + + + + + + + + +
Setting nameTypeDefault valueDescription
S_UsePlayerMinimumRankPluginBooleanFalseEnable the plugin.
S_MinimumRankString0The rank to reach to be qualified.
+

Time limit

+

Limit the duration a player can stay on a server.

+ + + + + + + + + + + + + + + + + + + + + + + +
Setting nameTypeDefault valueDescription
S_UseTimeLimitPluginBooleanFalseEnable the plugin.
S_TimeLimitDurationInteger300The duration a player can stay on the server in seconds, based on the player's first connection to the server.
+

Trackmania UI

+ + + + + + + + + + + + + + + + + +
Setting nameTypeDefault valueDescription
S_TrackmaniaUIPropertiesString""The UI properties to hide. Add value to enable the plugin.
+
+

Example of a valid S_TrackmaniaUIProperties value

+
<ui_properties><round_scores visible='false'/></ui_properties>
+
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/competition-tool/structure/examples-solo/index.html b/club/competition-tool/structure/examples-solo/index.html new file mode 100644 index 0000000..d8245b7 --- /dev/null +++ b/club/competition-tool/structure/examples-solo/index.html @@ -0,0 +1,2605 @@ + + + + + + + + + + + + + + + + + + + + + + Examples (Solo) - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Examples (Solo competitions)

+

Below are a few structure examples for Solo competitions that you can use as a starting point for your competition.

+

Single elimination bracket

+

Let's say you have a bracket that looks like this:

+

Single elimination bracket with qualifier where top 8 goes to a quarterfinal which consists of 2 matches of 4 players, and top 2 of each goes to a final round

+

We can then map how this will be laid out as a structure in the competition tool.

+
+

Stucture of the above bracket

+
    +
  • Round 1 - Semifinal - participants are added from the qualifier which is attached to this round
      +
    • Match 1
        +
      • Participant of qualifier at rank 1
      • +
      • Participant of qualifier at rank 4
      • +
      • Participant of qualifier at rank 5
      • +
      • Participant of qualifier at rank 8
      • +
      +
    • +
    • Match 2
        +
      • Participant of qualifier at rank 2
      • +
      • Participant of qualifier at rank 3
      • +
      • Participant of qualifier at rank 6
      • +
      • Participant of qualifier at rank 8
      • +
      +
    • +
    +
  • +
  • Round 2 - Final - participants are added from the previous round (round 1)
      +
    • Match 1
        +
      • Participant of the round 1 and match 1 at rank 1
      • +
      • Participant of the round 1 and match 1 at rank 2
      • +
      • Participant of the round 1 and match 2 at rank 1
      • +
      • Participant of the round 1 and match 2 at rank 2
      • +
      +
    • +
    +
  • +
+
+

Therefore, our structure is like this.

+
{
+  "version": 1,
+  "rounds": [
+    {
+      "name": "round 1",
+      "matchGeneratorType": "spot_filler",
+      "matchGeneratorData": {
+        "matches": [
+          {
+            "spots": [
+              {
+                "spotType": "round_challenge_participant",
+                "roundPosition": 0,
+                "rank": 1
+              },
+              {
+                "spotType": "round_challenge_participant",
+                "roundPosition": 0,
+                "rank": 4
+              },
+              {
+                "spotType": "round_challenge_participant",
+                "roundPosition": 0,
+                "rank": 5
+              },
+              {
+                "spotType": "round_challenge_participant",
+                "roundPosition": 0,
+                "rank": 8
+              }
+            ]
+          },
+          {
+            "spots": [
+              {
+                "spotType": "round_challenge_participant",
+                "roundPosition": 0,
+                "rank": 2
+              },
+              {
+                "spotType": "round_challenge_participant",
+                "roundPosition": 0,
+                "rank": 3
+              },
+              {
+                "spotType": "round_challenge_participant",
+                "roundPosition": 0,
+                "rank": 6
+              },
+              {
+                "spotType": "round_challenge_participant",
+                "roundPosition": 0,
+                "rank": 7
+              }
+            ]
+          }
+        ]
+      }
+    },
+    {
+      "name": "round 2",
+      "matchGeneratorType": "spot_filler",
+      "matchGeneratorData": {
+        "matches": [
+          {
+            "spots": [
+              {
+                "spotType": "match_participant",
+                "roundPosition": 0,
+                "matchPosition": 0,
+                "rank": 1
+              },
+              {
+                "spotType": "match_participant",
+                "roundPosition": 0,
+                "matchPosition": 0,
+                "rank": 2
+              },
+              {
+                "spotType": "match_participant",
+                "roundPosition": 0,
+                "matchPosition": 1,
+                "rank": 1
+              },
+              {
+                "spotType": "match_participant",
+                "roundPosition": 0,
+                "matchPosition": 1,
+                "rank": 2
+              }
+            ]
+          }
+        ]
+      }
+    }
+  ]
+}
+
+

Single elimination bracket without qualifier

+

The same bracket above can also be applied to competitions without a qualifier. Instead of using a spotType of round_challenge_participant for round 1, we use competition_participant and manually set a seed for each participant in the Participants menu.

+

Single elimination bracket with a quarterfinal which consists of 2 matches of 4 players, and top 2 of each goes to a final round

+
{
+  "version": 1,
+  "rounds": [
+    {
+      "name": "round 1",
+      "matchGeneratorType": "spot_filler",
+      "matchGeneratorData": {
+        "matches": [
+          {
+            "spots": [
+              {
+                "spotType": "competition_participant",
+                "seed": 1
+              },
+              {
+                "spotType": "competition_participant",
+                "seed": 4
+              },
+              {
+                "spotType": "competition_participant",
+                "seed": 5
+              },
+              {
+                "spotType": "competition_participant",
+                "seed": 8
+              }
+            ]
+          },
+          {
+            "spots": [
+              {
+                "spotType": "competition_participant",
+                "seed": 2
+              },
+              {
+                "spotType": "competition_participant",
+                "seed": 3
+              },
+              {
+                "spotType": "competition_participant",
+                "seed": 6
+              },
+              {
+                "spotType": "competition_participant",
+                "seed": 7
+              }
+            ]
+          }
+        ]
+      }
+    },
+    {
+      "name": "round 2",
+      "matchGeneratorType": "spot_filler",
+      "matchGeneratorData": {
+        "matches": [
+          {
+            "spots": [
+              {
+                "spotType": "match_participant",
+                "roundPosition": 0,
+                "matchPosition": 0,
+                "rank": 1
+              },
+              {
+                "spotType": "match_participant",
+                "roundPosition": 0,
+                "matchPosition": 0,
+                "rank": 2
+              },
+              {
+                "spotType": "match_participant",
+                "roundPosition": 0,
+                "matchPosition": 1,
+                "rank": 1
+              },
+              {
+                "spotType": "match_participant",
+                "roundPosition": 0,
+                "matchPosition": 1,
+                "rank": 2
+              }
+            ]
+          }
+        ]
+      }
+    }
+  ]
+}
+
+

Championship

+

Used in a format where the same players play for multiple rounds within the same match, with results being counted from total points (similar to Formula 1).

+

Below is an example for a 3-round championship, where each round has 1 match, which contains 8 players. You can also add more rounds, matches and players.

+
{
+  "version": 1,
+  "rounds": [
+    {
+      "name": "round 1",
+      "matchGeneratorType": "spot_filler",
+      "matchGeneratorData": {
+        "matches": [
+          {
+            "spots": [
+              {
+                "spotType": "competition_participant",
+                "seed": 1
+              },
+              {
+                "spotType": "competition_participant",
+                "seed": 2
+              },
+              {
+                "spotType": "competition_participant",
+                "seed": 3
+              },
+              {
+                "spotType": "competition_participant",
+                "seed": 4
+              },
+              {
+                "spotType": "competition_participant",
+                "seed": 5
+              },
+              {
+                "spotType": "competition_participant",
+                "seed": 6
+              },
+              {
+                "spotType": "competition_participant",
+                "seed": 7
+              },
+              {
+                "spotType": "competition_participant",
+                "seed": 8
+              }
+            ]
+          }
+        ]
+      }
+    },
+    {
+      "name": "round 2",
+      "matchGeneratorType": "spot_filler",
+      "matchGeneratorData": {
+        "matches": [
+          {
+            "spots": [
+              {
+                "spotType": "match_participant",
+                "roundPosition": 0,
+                "matchPosition": 0,
+                "rank": 1
+              },
+              {
+                "spotType": "match_participant",
+                "roundPosition": 0,
+                "matchPosition": 0,
+                "rank": 2
+              },
+              {
+                "spotType": "match_participant",
+                "roundPosition": 0,
+                "matchPosition": 0,
+                "rank": 3
+              },
+              {
+                "spotType": "match_participant",
+                "roundPosition": 0,
+                "matchPosition": 0,
+                "rank": 4
+              },
+              {
+                "spotType": "match_participant",
+                "roundPosition": 0,
+                "matchPosition": 0,
+                "rank": 5
+              },
+              {
+                "spotType": "match_participant",
+                "roundPosition": 0,
+                "matchPosition": 0,
+                "rank": 6
+              },
+              {
+                "spotType": "match_participant",
+                "roundPosition": 0,
+                "matchPosition": 0,
+                "rank": 7
+              },
+              {
+                "spotType": "match_participant",
+                "roundPosition": 0,
+                "matchPosition": 0,
+                "rank": 8
+              }
+            ]
+          }
+        ]
+      }
+    },
+    {
+      "name": "round 3",
+      "matchGeneratorType": "spot_filler",
+      "matchGeneratorData": {
+        "matches": [
+          {
+            "spots": [
+              {
+                "spotType": "match_participant",
+                "roundPosition": 1,
+                "matchPosition": 0,
+                "rank": 1
+              },
+              {
+                "spotType": "match_participant",
+                "roundPosition": 1,
+                "matchPosition": 0,
+                "rank": 2
+              },
+              {
+                "spotType": "match_participant",
+                "roundPosition": 1,
+                "matchPosition": 0,
+                "rank": 3
+              },
+              {
+                "spotType": "match_participant",
+                "roundPosition": 1,
+                "matchPosition": 0,
+                "rank": 4
+              },
+              {
+                "spotType": "match_participant",
+                "roundPosition": 1,
+                "matchPosition": 0,
+                "rank": 5
+              },
+              {
+                "spotType": "match_participant",
+                "roundPosition": 1,
+                "matchPosition": 0,
+                "rank": 6
+              },
+              {
+                "spotType": "match_participant",
+                "roundPosition": 1,
+                "matchPosition": 0,
+                "rank": 7
+              },
+              {
+                "spotType": "match_participant",
+                "roundPosition": 1,
+                "matchPosition": 0,
+                "rank": 8
+              }
+            ]
+          }
+        ]
+      }
+    }
+  ]
+}
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/competition-tool/structure/examples-team/index.html b/club/competition-tool/structure/examples-team/index.html new file mode 100644 index 0000000..0b25867 --- /dev/null +++ b/club/competition-tool/structure/examples-team/index.html @@ -0,0 +1,2412 @@ + + + + + + + + + + + + + + + + + + + + + + Examples (Team) - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Examples (Team competition)

+

Below are a few structure examples for Team competitions that you can use as a starting point for your competition.

+

Single elimination bracket

+

A standard single elimination bracket. Below is an example of a single elimination bracket with 8 teams. You will need to manually set a seed for each team in the Teams menu.

+

Single elimination with a quarterfinal of 8 teams (4 matches), a semifinal of 4 teams (2 matches), and a final

+
{
+  "version": 1,
+  "rounds": [
+    {
+      "name": "round 1",
+      "matchGeneratorType": "spot_filler",
+      "matchGeneratorData": {
+        "matches": [
+          {
+            "spots": [
+              {
+                "spotType": "competition_team",
+                "seed": 1
+              },
+              {
+                "spotType": "competition_team",
+                "seed": 8
+              }
+            ]
+          },
+          {
+            "spots": [
+              {
+                "spotType": "competition_team",
+                "seed": 4
+              },
+              {
+                "spotType": "competition_team",
+                "seed": 5
+              }
+            ]
+          },
+          {
+            "spots": [
+              {
+                "spotType": "competition_team",
+                "seed": 2
+              },
+              {
+                "spotType": "competition_team",
+                "seed": 7
+              }
+            ]
+          },
+          {
+            "spots": [
+              {
+                "spotType": "competition_team",
+                "seed": 3
+              },
+              {
+                "spotType": "competition_team",
+                "seed": 6
+              }
+            ]
+          }
+        ]
+      }
+    },
+    {
+      "name": "round 2",
+      "matchGeneratorType": "spot_filler",
+      "matchGeneratorData": {
+        "matches": [
+          {
+            "spots": [
+              {
+                "spotType": "team_match_participant",
+                "roundPosition": 0,
+                "matchPosition": 0,
+                "rank": 1
+              },
+              {
+                "spotType": "team_match_participant",
+                "roundPosition": 0,
+                "matchPosition": 1,
+                "rank": 1
+              }
+            ]
+          },
+          {
+            "spots": [
+              {
+                "spotType": "team_match_participant",
+                "roundPosition": 0,
+                "matchPosition": 2,
+                "rank": 1
+              },
+              {
+                "spotType": "team_match_participant",
+                "roundPosition": 0,
+                "matchPosition": 3,
+                "rank": 1
+              }
+            ]
+          }
+        ]
+      }
+    },
+    {
+      "name": "round 3",
+      "matchGeneratorType": "spot_filler",
+      "matchGeneratorData": {
+        "matches": [
+          {
+            "spots": [
+              {
+                "spotType": "team_match_participant",
+                "roundPosition": 1,
+                "matchPosition": 0,
+                "rank": 1
+              },
+              {
+                "spotType": "team_match_participant",
+                "roundPosition": 1,
+                "matchPosition": 1,
+                "rank": 1
+              }
+            ]
+          }
+        ]
+      }
+    }
+  ]
+}
+
+

Round robin

+

A competition format where each team plays against each other at least once. Results are normally determined by a team's win-loss record. (e.g. TMGL Regular Season)

+

Below is an example for a 4-team round robin tournament, where each team faces each other once. You will need to manually set a seed for each team in the Teams menu.

+
{
+  "version": 1,
+  "rounds": [
+    {
+      "name": "round 1",
+      "matchGeneratorType": "spot_filler",
+      "matchGeneratorData": {
+        "matches": [
+          {
+            "spots": [
+              {
+                "spotType": "competition_team",
+                "seed": 1
+              },
+              {
+                "spotType": "competition_team",
+                "seed": 4
+              }
+            ]
+          },
+          {
+            "spots": [
+              {
+                "spotType": "competition_team",
+                "seed": 2
+              },
+              {
+                "spotType": "competition_team",
+                "seed": 3
+              }
+            ]
+          }
+        ]
+      }
+    },
+    {
+      "name": "round 2",
+      "matchGeneratorType": "spot_filler",
+      "matchGeneratorData": {
+        "matches": [
+          {
+            "spots": [
+              {
+                "spotType": "competition_team",
+                "seed": 1
+              },
+              {
+                "spotType": "competition_team",
+                "seed": 2
+              }
+            ]
+          },
+          {
+            "spots": [
+              {
+                "spotType": "competition_team",
+                "seed": 3
+              },
+              {
+                "spotType": "competition_team",
+                "seed": 4
+              }
+            ]
+          }
+        ]
+      }
+    },
+    {
+      "name": "round 3",
+      "matchGeneratorType": "spot_filler",
+      "matchGeneratorData": {
+        "matches": [
+          {
+            "spots": [
+              {
+                "spotType": "competition_team",
+                "seed": 1
+              },
+              {
+                "spotType": "competition_team",
+                "seed": 3
+              }
+            ]
+          },
+          {
+            "spots": [
+              {
+                "spotType": "competition_team",
+                "seed": 2
+              },
+              {
+                "spotType": "competition_team",
+                "seed": 4
+              }
+            ]
+          }
+        ]
+      }
+    }
+  ]
+}
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/competition-tool/structure/index.html b/club/competition-tool/structure/index.html new file mode 100644 index 0000000..bcd21bb --- /dev/null +++ b/club/competition-tool/structure/index.html @@ -0,0 +1,2607 @@ + + + + + + + + + + + + + + + + + + + + + + Structure object - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Structure object

+

To add rounds in the Competition tool you can import a preset structure object to allow reuse of the same rounds format in other competitions. You can read more importing a structure to your Competition in this page.

+

A structure object is a JSON containing rounds, matches, and player spot allocations in a Competition. The following page contains a reference of all the properties available.

+

Rounds

+

A round is an object which contains an array of matches. Each round is composed of at least one match which contains an array of participants.

+
{
+  "version": 1,
+  "rounds": [
+    {
+      "name": "round 1",
+      "matchGeneratorType": "spot_filler",
+      "matchGeneratorData": {
+        "matches": [
+          {
+            "spots": []
+          },
+          {
+            "spots": []
+          }
+        ]
+      }
+    },
+    {
+      "name": "round 2",
+      "matchGeneratorType": "spot_filler",
+      "matchGeneratorData": {
+        "matches": [
+          {
+            "spots": []
+          }
+        ]
+      }
+    }
+  ]
+}
+
+

Properties

+
    +
  • name: The name of the round (e.g. "Semifinal").
  • +
  • matchGeneratorType: Is always spot_filler.
  • +
  • matchGeneratorData:
      +
    • matches: An array of Matches in a round. A round can have one or more matches.
    • +
    +
  • +
+

Matches

+

Each round will always have one or more matches. A match object is where you determine player placements for a specific match in a round.

+
{
+  "matches": [
+    {
+      "spots": [],
+      "settings": {}
+    }
+  ]
+}
+
+

Properties

+
    +
  • spots: An array of Spots to allocate players participating in the competition into the match.
  • +
  • settings: Additional script settings. If certain matches contains a different script settings from the ones set in Round settings, here you can script settings for that specific match.
  • +
+

Spots

+

A spot is an object which determines which player is allocated to that specific spot in a match. It contains different properties depending on which spotType is set for that specific

+

Properties

+

The following properties are available for all types of spot objects.

+
    +
  • spotType: determines a spot type (i.e. how a player is placed in a match) for that particular spot in a match.
  • +
+

Solo competitions

+

The following spot types are available for Solo competitions.

+

Qualifier

+

Add a player from the qualifier leaderboard. To enable this spot type, a qualifier needs to be attached to a round.

+
    +
  • spotType: round_challenge_participant
  • +
  • roundPosition: An index position (starting at 0) of the qualifier round.
  • +
  • rank: The rank of the player (starting at 1).
  • +
+
+

Example

+
{
+  "spotType": "round_challenge_participant",
+  "roundPosition": 0,
+  "rank": 4
+}
+
+

The player in 4th position in the qualifier leaderboard is added to the match.

+
+

Previous round

+

Add a player based on their placement in the previous round.

+
    +
  • spotType: match_participant
  • +
  • roundPosition: The index position of the round to add the player from (starting at 0)
  • +
  • matchPosition: The index position of the match to add the player from (starting at 0)
  • +
  • rank: The rank of the player (starting at 1).
  • +
+
+

Example

+
{
+  "spotType": "match_participant",
+  "roundPosition": 0,
+  "matchPosition": 3,
+  "rank": 2
+}
+
+

The 2nd place finisher of the fourth match of the first round is added to the match.

+
+

Player with a seed

+

Add a player based on the seed allocated to them. You will have to manually set the seed for each player from the Players page after creating your competition.

+
    +
  • spotType: competition_participant
  • +
  • seed: The seed given to the player (starting at 1).
  • +
+
+

Example

+
{
+  "spotType": "competition_participant",
+  "seed": 10
+}
+
+

The player with seed 10 is added to the match.

+
+

Leaderboard

+

Add a player based on their current placement in the competition leaderboard.

+
    +
  • spotType: competition_participant
  • +
  • rank: The player's current position in the competition leaderboard (starting at 1).
  • +
+
+

Example

+
{
+  "spotType": "competition_leaderboard",
+  "rank": 5
+}
+
+

The player at 5th position in the current competition leaderboard is added to the match.

+
+

Team competitions

+

The following spot types are available for Team competitions.

+

Team with a seed

+

Add a team based on the seed allocated to them. You will have to manually set the seed for each team from the Teams page after creating your competition.

+
    +
  • spotType: competition_team
  • +
  • seed: The seed given to the team (starting at 1).
  • +
+
+

Example

+
{
+  "spotType": "competition_team",
+  "seed": 4
+}
+
+

The team with seed 4 is added to the match.

+
+

Team name

+

Add a specific team into the match.

+
    +
  • spotType: competition_team_id
  • +
  • competitionId: Is always null.
  • +
  • teamId: The name of the team (must be as exactly set in the Teams page).
  • +
+
+

Example

+
{
+  "spotType": "competition_team_id",
+  "competitionId": null,
+  "teamId": "Team Name"
+}
+
+

Team "Team Name" is added to the match.

+
+

Previous round

+

Add a team based on their placement in the previous round.

+
    +
  • spotType: team_match_participant
  • +
  • roundPosition: The index position of the round to add the team from (starting at 0)
  • +
  • matchPosition: The index position of the match to add the team from (starting at 0)
  • +
  • rank: The rank of the team (starting at 1).
  • +
+
+

Example

+
{
+  "spotType": "team_match_participant",
+  "roundPosition": 0,
+  "matchPosition": 1,
+  "rank": 2
+}
+
+

The 2nd place team of the second match of the first round is added to the match.

+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/competition-tool/zones/01-africa/index.html b/club/competition-tool/zones/01-africa/index.html new file mode 100644 index 0000000..2ebdfa2 --- /dev/null +++ b/club/competition-tool/zones/01-africa/index.html @@ -0,0 +1,2174 @@ + + + + + + + + + + + + + + + + + + + + + + Africa - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Africa

+
+

Warning

+

This section contains the list of available zones to be used for creating competitions. It may be incomplete.

+
+
World|Africa|Algeria
+World|Africa|Angola
+World|Africa|Benin
+World|Africa|Botswana
+World|Africa|Burkina Faso
+World|Africa|Burundi
+World|Africa|Cabo Verde
+World|Africa|Cameroon
+World|Africa|Central African Republic
+World|Africa|Chad
+World|Africa|Comoros
+World|Africa|Congo
+World|Africa|DR Congo
+World|Africa|Djibouti
+World|Africa|Equatorial Guinea
+World|Africa|Eritrea
+World|Africa|Ethiopia
+World|Africa|Gabon
+World|Africa|Ghana
+World|Africa|Guinea
+World|Africa|Guinea-Bissau
+World|Africa|Ivory Coast
+World|Africa|Kenya
+World|Africa|Lesotho
+World|Africa|Liberia
+World|Africa|Libya
+World|Africa|Madagascar
+World|Africa|Malawi
+World|Africa|Mali
+World|Africa|Mauritania
+World|Africa|Mauritius
+World|Africa|Morocco
+World|Africa|Mozambique
+World|Africa|Namibia
+World|Africa|Niger
+World|Africa|Nigeria
+World|Africa|Rwanda
+World|Africa|Senegal
+World|Africa|Seychelles
+World|Africa|Sierra Leone
+World|Africa|Somalia
+World|Africa|South Africa
+World|Africa|South Sudan
+World|Africa|Sudan
+World|Africa|São Tomé and Príncipe
+World|Africa|Tanzania
+World|Africa|The Gambia
+World|Africa|Togo
+World|Africa|Tunisia
+World|Africa|Uganda
+World|Africa|Zambia
+World|Africa|Zimbabwe
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/competition-tool/zones/02-asia/index.html b/club/competition-tool/zones/02-asia/index.html new file mode 100644 index 0000000..11659ab --- /dev/null +++ b/club/competition-tool/zones/02-asia/index.html @@ -0,0 +1,2580 @@ + + + + + + + + + + + + + + + + + + + + + + Asia - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Asia

+
+

Warning

+

This section contains the list of available zones to be used for creating competitions. It may be incomplete.

+
+
World|Asia|Afghanistan
+World|Asia|Armenia
+World|Asia|Azerbaijan
+World|Asia|Bangladesh
+World|Asia|Bhutan
+World|Asia|Brunei
+World|Asia|Cambodia
+World|Asia|China
+World|Asia|Georgia
+World|Asia|Hong Kong
+World|Asia|India
+World|Asia|Indonesia
+World|Asia|Japan
+World|Asia|Kazakhstan
+World|Asia|Kyrgyzstan
+World|Asia|Laos
+World|Asia|Malaysia
+World|Asia|Maldives
+World|Asia|Mongolia
+World|Asia|Myanmar
+World|Asia|Nepal
+World|Asia|North Korea
+World|Asia|Pakistan
+World|Asia|Philippines
+World|Asia|Singapore
+World|Asia|South Korea
+World|Asia|Sri Lanka
+World|Asia|Tajikistan
+World|Asia|Taïwan
+World|Asia|Thailand
+World|Asia|Timor-Leste
+World|Asia|Turkmenistan
+World|Asia|Uzbekistan
+World|Asia|Vietnam
+
+

China

+
World|Asia|China|上海市
+World|Asia|China|云南省
+World|Asia|China|内蒙古自治区
+World|Asia|China|北京市
+World|Asia|China|吉林省
+World|Asia|China|四川省
+World|Asia|China|天津市
+World|Asia|China|宁夏回族自治区
+World|Asia|China|安徽省
+World|Asia|China|山东省
+World|Asia|China|山西省
+World|Asia|China|广东省
+World|Asia|China|广西壮族自治区
+World|Asia|China|新疆维吾尔自治区
+World|Asia|China|江苏省
+World|Asia|China|江西省
+World|Asia|China|河北省
+World|Asia|China|河南省
+World|Asia|China|浙江省
+World|Asia|China|海南省
+World|Asia|China|湖北省
+World|Asia|China|湖南省
+World|Asia|China|澳门特别行政区
+World|Asia|China|甘肃省
+World|Asia|China|福建省
+World|Asia|China|西藏自治区
+World|Asia|China|贵州省
+World|Asia|China|辽宁省
+World|Asia|China|重庆市
+World|Asia|China|陕西省
+World|Asia|China|青海省
+World|Asia|China|黑龙江省
+
+
World|Asia|China|上海市|上海市
+World|Asia|China|云南省|临沧市
+World|Asia|China|云南省|丽江市
+World|Asia|China|云南省|保山市
+World|Asia|China|云南省|大理白族自治州
+World|Asia|China|云南省|德宏傣族景颇族自治州
+World|Asia|China|云南省|怒江傈僳族自治州
+World|Asia|China|云南省|思茅市
+World|Asia|China|云南省|文山壮族苗族自治州
+World|Asia|China|云南省|昆明市
+World|Asia|China|云南省|昭通市
+World|Asia|China|云南省|曲靖市
+World|Asia|China|云南省|楚雄彝族自治州
+World|Asia|China|云南省|玉溪市
+World|Asia|China|云南省|红河哈尼族彝族自治州
+World|Asia|China|云南省|西双版纳傣族自治州
+World|Asia|China|云南省|迪庆藏族自治州
+World|Asia|China|内蒙古自治区|乌兰察布市
+World|Asia|China|内蒙古自治区|乌海市
+World|Asia|China|内蒙古自治区|兴安盟
+World|Asia|China|内蒙古自治区|包头市
+World|Asia|China|内蒙古自治区|呼伦贝尔市
+World|Asia|China|内蒙古自治区|呼和浩特市
+World|Asia|China|内蒙古自治区|巴彦淖尔市
+World|Asia|China|内蒙古自治区|赤峰市
+World|Asia|China|内蒙古自治区|通辽市
+World|Asia|China|内蒙古自治区|鄂尔多斯市
+World|Asia|China|内蒙古自治区|锡林郭勒盟
+World|Asia|China|内蒙古自治区|阿拉善盟
+World|Asia|China|北京市|北京市
+World|Asia|China|吉林省|吉林市
+World|Asia|China|吉林省|四平市
+World|Asia|China|吉林省|延边朝鲜族自治州
+World|Asia|China|吉林省|松原市
+World|Asia|China|吉林省|白城市
+World|Asia|China|吉林省|白山市
+World|Asia|China|吉林省|辽源市
+World|Asia|China|吉林省|通化市
+World|Asia|China|吉林省|长春市
+World|Asia|China|四川省|乐山市
+World|Asia|China|四川省|内江市
+World|Asia|China|四川省|凉山彝族自治州
+World|Asia|China|四川省|南充市
+World|Asia|China|四川省|宜宾市
+World|Asia|China|四川省|巴中市
+World|Asia|China|四川省|广元市
+World|Asia|China|四川省|广安市
+World|Asia|China|四川省|德阳市
+World|Asia|China|四川省|成都市
+World|Asia|China|四川省|攀枝花市
+World|Asia|China|四川省|泸州市
+World|Asia|China|四川省|甘孜藏族自治州
+World|Asia|China|四川省|眉山市
+World|Asia|China|四川省|绵阳市
+World|Asia|China|四川省|自贡市
+World|Asia|China|四川省|资阳市
+World|Asia|China|四川省|达州市
+World|Asia|China|四川省|遂宁市
+World|Asia|China|四川省|阿坝藏族羌族自治州
+World|Asia|China|四川省|雅安市
+World|Asia|China|天津市|天津市
+World|Asia|China|宁夏回族自治区|中卫市
+World|Asia|China|宁夏回族自治区|吴忠市
+World|Asia|China|宁夏回族自治区|固原市
+World|Asia|China|宁夏回族自治区|石嘴山市
+World|Asia|China|宁夏回族自治区|银川市
+World|Asia|China|安徽省|亳州市
+World|Asia|China|安徽省|六安市
+World|Asia|China|安徽省|合肥市
+World|Asia|China|安徽省|安庆市
+World|Asia|China|安徽省|宣城市
+World|Asia|China|安徽省|宿州市
+World|Asia|China|安徽省|巢湖市
+World|Asia|China|安徽省|池州市
+World|Asia|China|安徽省|淮北市
+World|Asia|China|安徽省|淮南市
+World|Asia|China|安徽省|滁州市
+World|Asia|China|安徽省|芜湖市
+World|Asia|China|安徽省|蚌埠市
+World|Asia|China|安徽省|铜陵市
+World|Asia|China|安徽省|阜阳市
+World|Asia|China|安徽省|马鞍山市
+World|Asia|China|安徽省|黄山市
+World|Asia|China|山东省|东营市
+World|Asia|China|山东省|临沂市
+World|Asia|China|山东省|威海市
+World|Asia|China|山东省|德州市
+World|Asia|China|山东省|日照市
+World|Asia|China|山东省|枣庄市
+World|Asia|China|山东省|泰安市
+World|Asia|China|山东省|济南市
+World|Asia|China|山东省|济宁市
+World|Asia|China|山东省|淄博市
+World|Asia|China|山东省|滨州市
+World|Asia|China|山东省|潍坊市
+World|Asia|China|山东省|烟台市
+World|Asia|China|山东省|聊城市
+World|Asia|China|山东省|荷泽市
+World|Asia|China|山东省|莱芜市
+World|Asia|China|山东省|青岛市
+World|Asia|China|山西省|临汾市
+World|Asia|China|山西省|吕梁市
+World|Asia|China|山西省|大同市
+World|Asia|China|山西省|太原市
+World|Asia|China|山西省|忻州市
+World|Asia|China|山西省|晋中市
+World|Asia|China|山西省|晋城市
+World|Asia|China|山西省|朔州市
+World|Asia|China|山西省|运城市
+World|Asia|China|山西省|长治市
+World|Asia|China|山西省|阳泉市
+World|Asia|China|广东省|东莞市
+World|Asia|China|广东省|中山市
+World|Asia|China|广东省|云浮市
+World|Asia|China|广东省|佛山市
+World|Asia|China|广东省|广州市
+World|Asia|China|广东省|惠州市
+World|Asia|China|广东省|揭阳市
+World|Asia|China|广东省|梅州市
+World|Asia|China|广东省|汕头市
+World|Asia|China|广东省|汕尾市
+World|Asia|China|广东省|江门市
+World|Asia|China|广东省|河源市
+World|Asia|China|广东省|深圳市
+World|Asia|China|广东省|清远市
+World|Asia|China|广东省|湛江市
+World|Asia|China|广东省|潮州市
+World|Asia|China|广东省|珠海市
+World|Asia|China|广东省|肇庆市
+World|Asia|China|广东省|茂名市
+World|Asia|China|广东省|阳江市
+World|Asia|China|广东省|韶关市
+World|Asia|China|广西壮族自治区|北海市
+World|Asia|China|广西壮族自治区|南宁市
+World|Asia|China|广西壮族自治区|崇左市
+World|Asia|China|广西壮族自治区|来宾市
+World|Asia|China|广西壮族自治区|柳州市
+World|Asia|China|广西壮族自治区|桂林市
+World|Asia|China|广西壮族自治区|梧州市
+World|Asia|China|广西壮族自治区|河池市
+World|Asia|China|广西壮族自治区|玉林市
+World|Asia|China|广西壮族自治区|百色市
+World|Asia|China|广西壮族自治区|贵港市
+World|Asia|China|广西壮族自治区|贺州市
+World|Asia|China|广西壮族自治区|钦州市
+World|Asia|China|广西壮族自治区|防城港市
+World|Asia|China|新疆维吾尔自治区|乌鲁木齐市
+World|Asia|China|新疆维吾尔自治区|五家渠市
+World|Asia|China|新疆维吾尔自治区|伊犁哈萨克自治州
+World|Asia|China|新疆维吾尔自治区|克孜勒苏柯尔克孜自治州
+World|Asia|China|新疆维吾尔自治区|克拉玛依市
+World|Asia|China|新疆维吾尔自治区|博尔塔拉蒙古自治州
+World|Asia|China|新疆维吾尔自治区|吐鲁番地区
+World|Asia|China|新疆维吾尔自治区|和田地区
+World|Asia|China|新疆维吾尔自治区|哈密地区
+World|Asia|China|新疆维吾尔自治区|喀什地区
+World|Asia|China|新疆维吾尔自治区|图木舒克市
+World|Asia|China|新疆维吾尔自治区|塔城地区
+World|Asia|China|新疆维吾尔自治区|巴音郭楞蒙古自治州
+World|Asia|China|新疆维吾尔自治区|昌吉回族自治州
+World|Asia|China|新疆维吾尔自治区|石河子市
+World|Asia|China|新疆维吾尔自治区|阿克苏地区
+World|Asia|China|新疆维吾尔自治区|阿勒泰地区
+World|Asia|China|新疆维吾尔自治区|阿拉尔市
+World|Asia|China|江苏省|南京市
+World|Asia|China|江苏省|南通市
+World|Asia|China|江苏省|宿迁市
+World|Asia|China|江苏省|常州市
+World|Asia|China|江苏省|徐州市
+World|Asia|China|江苏省|扬州市
+World|Asia|China|江苏省|无锡市
+World|Asia|China|江苏省|泰州市
+World|Asia|China|江苏省|淮安市
+World|Asia|China|江苏省|盐城市
+World|Asia|China|江苏省|苏州市
+World|Asia|China|江苏省|连云港市
+World|Asia|China|江苏省|镇江市
+World|Asia|China|江西省|上饶市
+World|Asia|China|江西省|九江市
+World|Asia|China|江西省|南昌市
+World|Asia|China|江西省|吉安市
+World|Asia|China|江西省|宜春市
+World|Asia|China|江西省|抚州市
+World|Asia|China|江西省|新余市
+World|Asia|China|江西省|景德镇市
+World|Asia|China|江西省|萍乡市
+World|Asia|China|江西省|赣州市
+World|Asia|China|江西省|鹰潭市
+World|Asia|China|河北省|保定市
+World|Asia|China|河北省|唐山市
+World|Asia|China|河北省|廊坊市
+World|Asia|China|河北省|张家口市
+World|Asia|China|河北省|承德市
+World|Asia|China|河北省|沧州市
+World|Asia|China|河北省|石家庄市
+World|Asia|China|河北省|秦皇岛市
+World|Asia|China|河北省|衡水市
+World|Asia|China|河北省|邢台市
+World|Asia|China|河北省|邯郸市
+World|Asia|China|河南省|三门峡市
+World|Asia|China|河南省|信阳市
+World|Asia|China|河南省|南阳市
+World|Asia|China|河南省|周口市
+World|Asia|China|河南省|商丘市
+World|Asia|China|河南省|安阳市
+World|Asia|China|河南省|平顶山市
+World|Asia|China|河南省|开封市
+World|Asia|China|河南省|新乡市
+World|Asia|China|河南省|洛阳市
+World|Asia|China|河南省|漯河市
+World|Asia|China|河南省|濮阳市
+World|Asia|China|河南省|焦作市
+World|Asia|China|河南省|许昌市
+World|Asia|China|河南省|郑州市
+World|Asia|China|河南省|驻马店市
+World|Asia|China|河南省|鹤壁市
+World|Asia|China|浙江省|丽水市
+World|Asia|China|浙江省|台州市
+World|Asia|China|浙江省|嘉兴市
+World|Asia|China|浙江省|宁波市
+World|Asia|China|浙江省|杭州市
+World|Asia|China|浙江省|温州市
+World|Asia|China|浙江省|湖州市
+World|Asia|China|浙江省|绍兴市
+World|Asia|China|浙江省|舟山市
+World|Asia|China|浙江省|衢州市
+World|Asia|China|浙江省|金华市
+World|Asia|China|海南省|三亚市
+World|Asia|China|海南省|海口市
+World|Asia|China|湖北省|十堰市
+World|Asia|China|湖北省|咸宁市
+World|Asia|China|湖北省|孝感市
+World|Asia|China|湖北省|宜昌市
+World|Asia|China|湖北省|恩施土家族苗族自治州
+World|Asia|China|湖北省|武汉市
+World|Asia|China|湖北省|神农架
+World|Asia|China|湖北省|荆州市
+World|Asia|China|湖北省|荆门市
+World|Asia|China|湖北省|襄樊市
+World|Asia|China|湖北省|鄂州市
+World|Asia|China|湖北省|随州市
+World|Asia|China|湖北省|黄冈市
+World|Asia|China|湖北省|黄石市
+World|Asia|China|湖南省|娄底市
+World|Asia|China|湖南省|岳阳市
+World|Asia|China|湖南省|常德市
+World|Asia|China|湖南省|张家界市
+World|Asia|China|湖南省|怀化市
+World|Asia|China|湖南省|株洲市
+World|Asia|China|湖南省|永州市
+World|Asia|China|湖南省|湘潭市
+World|Asia|China|湖南省|湘西土家族苗族自治州
+World|Asia|China|湖南省|益阳市
+World|Asia|China|湖南省|衡阳市
+World|Asia|China|湖南省|邵阳市
+World|Asia|China|湖南省|郴州市
+World|Asia|China|湖南省|长沙市
+World|Asia|China|澳门特别行政区|澳门特别行政区
+World|Asia|China|甘肃省|临夏回族自治州
+World|Asia|China|甘肃省|兰州市
+World|Asia|China|甘肃省|嘉峪关市
+World|Asia|China|甘肃省|天水市
+World|Asia|China|甘肃省|定西市
+World|Asia|China|甘肃省|平凉市
+World|Asia|China|甘肃省|庆阳市
+World|Asia|China|甘肃省|张掖市
+World|Asia|China|甘肃省|武威市
+World|Asia|China|甘肃省|甘南藏族自治州
+World|Asia|China|甘肃省|白银市
+World|Asia|China|甘肃省|酒泉市
+World|Asia|China|甘肃省|金昌市
+World|Asia|China|甘肃省|陇南市
+World|Asia|China|福建省|三明市
+World|Asia|China|福建省|南平市
+World|Asia|China|福建省|厦门市
+World|Asia|China|福建省|宁德市
+World|Asia|China|福建省|泉州市
+World|Asia|China|福建省|漳州市
+World|Asia|China|福建省|福州市
+World|Asia|China|福建省|莆田市
+World|Asia|China|福建省|龙岩市
+World|Asia|China|西藏自治区|山南地区
+World|Asia|China|西藏自治区|拉萨市
+World|Asia|China|西藏自治区|日喀则地区
+World|Asia|China|西藏自治区|昌都地区
+World|Asia|China|西藏自治区|林芝地区
+World|Asia|China|西藏自治区|那曲地区
+World|Asia|China|西藏自治区|阿里地区
+World|Asia|China|贵州省|六盘水市
+World|Asia|China|贵州省|安顺市
+World|Asia|China|贵州省|毕节地区
+World|Asia|China|贵州省|贵阳市
+World|Asia|China|贵州省|遵义市
+World|Asia|China|贵州省|铜仁地区
+World|Asia|China|贵州省|黔东南苗族侗族自治州
+World|Asia|China|贵州省|黔南布依族苗族自治州
+World|Asia|China|贵州省|黔西南布依族苗族自治州
+World|Asia|China|辽宁省|丹东市
+World|Asia|China|辽宁省|大连市
+World|Asia|China|辽宁省|抚顺市
+World|Asia|China|辽宁省|朝阳市
+World|Asia|China|辽宁省|本溪市
+World|Asia|China|辽宁省|沈阳市
+World|Asia|China|辽宁省|盘锦市
+World|Asia|China|辽宁省|营口市
+World|Asia|China|辽宁省|葫芦岛市
+World|Asia|China|辽宁省|辽阳市
+World|Asia|China|辽宁省|铁岭市
+World|Asia|China|辽宁省|锦州市
+World|Asia|China|辽宁省|阜新市
+World|Asia|China|辽宁省|鞍山市
+World|Asia|China|重庆市|重庆市
+World|Asia|China|陕西省|咸阳市
+World|Asia|China|陕西省|商洛市
+World|Asia|China|陕西省|安康市
+World|Asia|China|陕西省|宝鸡市
+World|Asia|China|陕西省|延安市
+World|Asia|China|陕西省|榆林市
+World|Asia|China|陕西省|汉中市
+World|Asia|China|陕西省|渭南市
+World|Asia|China|陕西省|西安市
+World|Asia|China|陕西省|铜川市
+World|Asia|China|青海省|果洛藏族自治州
+World|Asia|China|青海省|海东地区
+World|Asia|China|青海省|海北藏族自治州
+World|Asia|China|青海省|海南藏族自治州
+World|Asia|China|青海省|海西蒙古族藏族自治州
+World|Asia|China|青海省|玉树藏族自治州
+World|Asia|China|青海省|西宁市
+World|Asia|China|青海省|黄南藏族自治州
+World|Asia|China|黑龙江省|七台河市
+World|Asia|China|黑龙江省|伊春市
+World|Asia|China|黑龙江省|佳木斯市
+World|Asia|China|黑龙江省|双鸭山市
+World|Asia|China|黑龙江省|哈尔滨市
+World|Asia|China|黑龙江省|大兴安岭地区
+World|Asia|China|黑龙江省|大庆市
+World|Asia|China|黑龙江省|牡丹江市
+World|Asia|China|黑龙江省|绥化市
+World|Asia|China|黑龙江省|鸡西市
+World|Asia|China|黑龙江省|鹤岗市
+World|Asia|China|黑龙江省|黑河市
+World|Asia|China|黑龙江省|齐齐哈尔市
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/competition-tool/zones/03-europe/index.html b/club/competition-tool/zones/03-europe/index.html new file mode 100644 index 0000000..0a3ef0c --- /dev/null +++ b/club/competition-tool/zones/03-europe/index.html @@ -0,0 +1,3519 @@ + + + + + + + + + + + + + + + + + + + + + + Europe - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Europe

+
+

Warning

+

This section contains the list of available zones to be used for creating competitions. It may be incomplete.

+
+
World|Europe|Albania
+World|Europe|Andorra
+World|Europe|Austria
+World|Europe|Belarus
+World|Europe|Belgium
+World|Europe|Bosnia and Herzegovina
+World|Europe|Bulgaria
+World|Europe|Croatia
+World|Europe|Cyprus
+World|Europe|Czechia
+World|Europe|Denmark
+World|Europe|Estonia
+World|Europe|Finland
+World|Europe|France
+World|Europe|Germany
+World|Europe|Greece
+World|Europe|Hungary
+World|Europe|Iceland
+World|Europe|Ireland
+World|Europe|Italy
+World|Europe|Latvia
+World|Europe|Liechtenstein
+World|Europe|Lithuania
+World|Europe|Luxembourg
+World|Europe|Malta
+World|Europe|Moldova
+World|Europe|Monaco
+World|Europe|Montenegro
+World|Europe|Netherlands
+World|Europe|North Macedonia
+World|Europe|Norway
+World|Europe|Poland
+World|Europe|Portugal
+World|Europe|Romania
+World|Europe|Russia
+World|Europe|San Marino
+World|Europe|Serbia
+World|Europe|Slovakia
+World|Europe|Slovenia
+World|Europe|Spain
+World|Europe|Sweden
+World|Europe|Switzerland
+World|Europe|Turkey
+World|Europe|Ukraine
+World|Europe|United Kingdom
+
+

Austria

+
World|Europe|Austria|Burgenland
+World|Europe|Austria|Carinthia
+World|Europe|Austria|Lower Austria
+World|Europe|Austria|Salzburg
+World|Europe|Austria|Styria
+World|Europe|Austria|Tyrol
+World|Europe|Austria|Upper Austria
+World|Europe|Austria|Vienna
+World|Europe|Austria|Vorarlberg
+
+

Belgium

+
World|Europe|Belgium|Antwerpen
+World|Europe|Belgium|Brabant Wallon
+World|Europe|Belgium|Brussel Bruxelles
+World|Europe|Belgium|Hainaut
+World|Europe|Belgium|Limburg
+World|Europe|Belgium|Liège
+World|Europe|Belgium|Luxemburg
+World|Europe|Belgium|Namur
+World|Europe|Belgium|Oost-Vlaanderen
+World|Europe|Belgium|Vlaams-Brabant
+World|Europe|Belgium|West-Vlaanderen
+
+

Czechia

+
World|Europe|Czechia|Jihoceský kraj
+World|Europe|Czechia|Jihomoravský kraj
+World|Europe|Czechia|Karlovarský kraj
+World|Europe|Czechia|Kraj Vysočina
+World|Europe|Czechia|Královéhradecký kraj
+World|Europe|Czechia|Liberecký kraj
+World|Europe|Czechia|Moravskoslezský kraj
+World|Europe|Czechia|Olomoucký kraj
+World|Europe|Czechia|Pardubický kraj
+World|Europe|Czechia|Plzeňský kraj
+World|Europe|Czechia|Praha
+World|Europe|Czechia|Středočeský kraj
+World|Europe|Czechia|Ustecký kraj
+World|Europe|Czechia|Zlínský kraj
+
+

France

+
World|Europe|France|Auvergne-Rhône-Alpes
+World|Europe|France|Bourgogne-Franche-Comté
+World|Europe|France|Bretagne
+World|Europe|France|Centre-Val de Loire
+World|Europe|France|Corsica
+World|Europe|France|Grand Est
+World|Europe|France|Hauts-de-France
+World|Europe|France|Normandie
+World|Europe|France|Nouvelle-Aquitaine
+World|Europe|France|Occitanie
+World|Europe|France|Outre-mer
+World|Europe|France|Pays-de-la-Loire
+World|Europe|France|Provence-Alpes-Côte d'Azur
+World|Europe|France|Île-de-France
+
+

Auvergne-Rhône-Alpes

+
World|Europe|France|Auvergne-Rhône-Alpes|Ain
+World|Europe|France|Auvergne-Rhône-Alpes|Allier
+World|Europe|France|Auvergne-Rhône-Alpes|Ardèche
+World|Europe|France|Auvergne-Rhône-Alpes|Cantal
+World|Europe|France|Auvergne-Rhône-Alpes|Drôme
+World|Europe|France|Auvergne-Rhône-Alpes|Haute-Loire
+World|Europe|France|Auvergne-Rhône-Alpes|Haute-Savoie
+World|Europe|France|Auvergne-Rhône-Alpes|Isère
+World|Europe|France|Auvergne-Rhône-Alpes|Loire
+World|Europe|France|Auvergne-Rhône-Alpes|Puy-de-Dôme
+World|Europe|France|Auvergne-Rhône-Alpes|Rhône
+World|Europe|France|Auvergne-Rhône-Alpes|Savoie
+
+

Bourgogne-Franche-Comté

+
World|Europe|France|Bourgogne-Franche-Comté|Côte-d'Or
+World|Europe|France|Bourgogne-Franche-Comté|Doubs
+World|Europe|France|Bourgogne-Franche-Comté|Haute-Saône
+World|Europe|France|Bourgogne-Franche-Comté|Jura
+World|Europe|France|Bourgogne-Franche-Comté|Nièvre
+World|Europe|France|Bourgogne-Franche-Comté|Saône-et-Loire
+World|Europe|France|Bourgogne-Franche-Comté|Territoire de Belfort
+World|Europe|France|Bourgogne-Franche-Comté|Yonne
+
+

Bretagne

+
World|Europe|France|Bretagne|Côtes-d'Armor
+World|Europe|France|Bretagne|Finistère
+World|Europe|France|Bretagne|Ille-et-Vilaine
+World|Europe|France|Bretagne|Morbihan
+
+

Centre-Val de Loire

+
World|Europe|France|Centre-Val de Loire|Cher
+World|Europe|France|Centre-Val de Loire|Eure-et-Loir
+World|Europe|France|Centre-Val de Loire|Indre
+World|Europe|France|Centre-Val de Loire|Indre-et-Loire
+World|Europe|France|Centre-Val de Loire|Loir-et-Cher
+World|Europe|France|Centre-Val de Loire|Loiret
+
+

Corsica

+
World|Europe|France|Corsica|Corse-du-Sud
+World|Europe|France|Corsica|Haute-Corse
+
+

Grand Est

+
World|Europe|France|Grand Est|Ardennes
+World|Europe|France|Grand Est|Aube
+World|Europe|France|Grand Est|Bas-Rhin
+World|Europe|France|Grand Est|Haut-Rhin
+World|Europe|France|Grand Est|Haute-Marne
+World|Europe|France|Grand Est|Marne
+World|Europe|France|Grand Est|Meurthe-et-Moselle
+World|Europe|France|Grand Est|Meuse
+World|Europe|France|Grand Est|Moselle
+World|Europe|France|Grand Est|Vosges
+
+

Hauts-de-France

+
World|Europe|France|Hauts-de-France|Aisne
+World|Europe|France|Hauts-de-France|Nord
+World|Europe|France|Hauts-de-France|Oise
+World|Europe|France|Hauts-de-France|Pas-de-Calais
+World|Europe|France|Hauts-de-France|Somme
+
+

Normandie

+
World|Europe|France|Normandie|Calvados
+World|Europe|France|Normandie|Eure
+World|Europe|France|Normandie|Manche
+World|Europe|France|Normandie|Orne
+World|Europe|France|Normandie|Seine-Maritime
+
+

Nouvelle-Aquitaine

+
World|Europe|France|Nouvelle-Aquitaine|Charente
+World|Europe|France|Nouvelle-Aquitaine|Charente-Maritime
+World|Europe|France|Nouvelle-Aquitaine|Corrèze
+World|Europe|France|Nouvelle-Aquitaine|Creuse
+World|Europe|France|Nouvelle-Aquitaine|Deux-Sèvres
+World|Europe|France|Nouvelle-Aquitaine|Dordogne
+World|Europe|France|Nouvelle-Aquitaine|Gironde
+World|Europe|France|Nouvelle-Aquitaine|Haute-Vienne
+World|Europe|France|Nouvelle-Aquitaine|Landes
+World|Europe|France|Nouvelle-Aquitaine|Lot-et-Garonne
+World|Europe|France|Nouvelle-Aquitaine|Pyrénées-Atlantiques
+World|Europe|France|Nouvelle-Aquitaine|Vienne
+
+

Occitanie

+
World|Europe|France|Occitanie|Ariège
+World|Europe|France|Occitanie|Aude
+World|Europe|France|Occitanie|Aveyron
+World|Europe|France|Occitanie|Gard
+World|Europe|France|Occitanie|Gers
+World|Europe|France|Occitanie|Haute-Garonne
+World|Europe|France|Occitanie|Hautes-Pyrénées
+World|Europe|France|Occitanie|Hérault
+World|Europe|France|Occitanie|Lot
+World|Europe|France|Occitanie|Lozère
+World|Europe|France|Occitanie|Pyrénées-Orientales
+World|Europe|France|Occitanie|Tarn
+World|Europe|France|Occitanie|Tarn-et-Garonne
+
+

Outre-mer

+
World|Europe|France|Outre-mer|Guadeloupe
+World|Europe|France|Outre-mer|Guyane
+World|Europe|France|Outre-mer|Martinique
+World|Europe|France|Outre-mer|Mayotte
+World|Europe|France|Outre-mer|Nouvelle-Calédonie
+World|Europe|France|Outre-mer|Polynésie française
+World|Europe|France|Outre-mer|Réunion
+World|Europe|France|Outre-mer|Saint-Barthélemy
+World|Europe|France|Outre-mer|Saint-Martin
+World|Europe|France|Outre-mer|Saint-Pierre-et-Miquelon
+World|Europe|France|Outre-mer|Wallis-et-Futuna
+
+

Pays-de-la-Loire

+
World|Europe|France|Pays-de-la-Loire|Loire-Atlantique
+World|Europe|France|Pays-de-la-Loire|Maine-et-Loire
+World|Europe|France|Pays-de-la-Loire|Mayenne
+World|Europe|France|Pays-de-la-Loire|Sarthe
+World|Europe|France|Pays-de-la-Loire|Vendée
+
+

Provence-Alpes-Côte d'Azur

+
World|Europe|France|Provence-Alpes-Côte d'Azur|Alpes-Maritimes
+World|Europe|France|Provence-Alpes-Côte d'Azur|Alpes-de-Haute-Provence
+World|Europe|France|Provence-Alpes-Côte d'Azur|Bouches-du-Rhône
+World|Europe|France|Provence-Alpes-Côte d'Azur|Hautes-Alpes
+World|Europe|France|Provence-Alpes-Côte d'Azur|Var
+World|Europe|France|Provence-Alpes-Côte d'Azur|Vaucluse
+
+

Île-de-France

+
World|Europe|France|Île-de-France|Essonne
+World|Europe|France|Île-de-France|Hauts-de-Seine
+World|Europe|France|Île-de-France|Paris
+World|Europe|France|Île-de-France|Seine-Saint-Denis
+World|Europe|France|Île-de-France|Seine-et-Marne
+World|Europe|France|Île-de-France|Val-d'Oise
+World|Europe|France|Île-de-France|Val-de-Marne
+World|Europe|France|Île-de-France|Yvelines
+
+

Germany

+
World|Europe|Germany|Baden-Württemberg
+World|Europe|Germany|Bayern
+World|Europe|Germany|Berlin
+World|Europe|Germany|Brandenburg
+World|Europe|Germany|Bremen
+World|Europe|Germany|Hamburg
+World|Europe|Germany|Hessen
+World|Europe|Germany|Mecklenburg-Vorpommern
+World|Europe|Germany|Niedersachsen
+World|Europe|Germany|Nordrhein-Westfalen
+World|Europe|Germany|Rheinland-Pfalz
+World|Europe|Germany|Saarland
+World|Europe|Germany|Sachsen
+World|Europe|Germany|Sachsen-Anhalt
+World|Europe|Germany|Schleswig-Holstein
+World|Europe|Germany|Thüringen
+
+

Baden-Württemberg

+
World|Europe|Germany|Baden-Württemberg|Heidelberg
+World|Europe|Germany|Baden-Württemberg|Karlsruhe
+World|Europe|Germany|Baden-Württemberg|Mannheim
+World|Europe|Germany|Baden-Württemberg|Stuttgart
+
+

Bayern

+
World|Europe|Germany|Bayern|Augsburg
+World|Europe|Germany|Bayern|Bad Tölz
+World|Europe|Germany|Bayern|München
+World|Europe|Germany|Bayern|Nürnberg
+World|Europe|Germany|Bayern|Passau
+World|Europe|Germany|Bayern|Regensburg
+
+

Brandenburg

+
World|Europe|Germany|Brandenburg|Potsdam
+
+

Hessen

+
World|Europe|Germany|Hessen|Darmstadt
+World|Europe|Germany|Hessen|Frankfurt
+World|Europe|Germany|Hessen|Giessen
+World|Europe|Germany|Hessen|Kassel
+World|Europe|Germany|Hessen|Offenbach
+World|Europe|Germany|Hessen|Wiesbaden
+
+

Mecklenburg-Vorpommern

+
World|Europe|Germany|Mecklenburg-Vorpommern|Rostock
+World|Europe|Germany|Mecklenburg-Vorpommern|Schwerin
+
+

Niedersachsen

+
World|Europe|Germany|Niedersachsen|Braunschweig
+World|Europe|Germany|Niedersachsen|Hannover
+World|Europe|Germany|Niedersachsen|Oldenburg
+World|Europe|Germany|Niedersachsen|Osnabrück
+World|Europe|Germany|Niedersachsen|Wolfsburg
+
+

Nordrhein-Westfalen

+
World|Europe|Germany|Nordrhein-Westfalen|Aachen
+World|Europe|Germany|Nordrhein-Westfalen|Bochum
+World|Europe|Germany|Nordrhein-Westfalen|Bonn
+World|Europe|Germany|Nordrhein-Westfalen|Dortmund
+World|Europe|Germany|Nordrhein-Westfalen|Duisburg
+World|Europe|Germany|Nordrhein-Westfalen|Düsseldorf
+World|Europe|Germany|Nordrhein-Westfalen|Essen
+World|Europe|Germany|Nordrhein-Westfalen|Köln
+World|Europe|Germany|Nordrhein-Westfalen|Wuppertal
+
+

Rheinland-Pfalz

+
World|Europe|Germany|Rheinland-Pfalz|Kaiserslautern
+World|Europe|Germany|Rheinland-Pfalz|Koblenz
+World|Europe|Germany|Rheinland-Pfalz|Mainz
+World|Europe|Germany|Rheinland-Pfalz|Trier
+
+

Saarland

+
World|Europe|Germany|Saarland|Saarbrücken
+
+

Sachsen-Anhalt

+
World|Europe|Germany|Sachsen-Anhalt|Dessau
+World|Europe|Germany|Sachsen-Anhalt|Halle
+World|Europe|Germany|Sachsen-Anhalt|Magdeburg
+
+

Sachsen

+
World|Europe|Germany|Sachsen|Chemnitz
+World|Europe|Germany|Sachsen|Dresden
+World|Europe|Germany|Sachsen|Leipzig
+
+

Schleswig-Holstein

+
World|Europe|Germany|Schleswig-Holstein|Kiel
+World|Europe|Germany|Schleswig-Holstein|Lübeck
+World|Europe|Germany|Schleswig-Holstein|Neumünster
+
+

Thüringen

+
World|Europe|Germany|Thüringen|Eisenach
+World|Europe|Germany|Thüringen|Erfurt
+World|Europe|Germany|Thüringen|Weimar
+
+

Hungary

+
World|Europe|Hungary|Baranya
+World|Europe|Hungary|Borsod-Abaúj-Zemplén
+World|Europe|Hungary|Budapest
+World|Europe|Hungary|Bács-Kiskun
+World|Europe|Hungary|Békés
+World|Europe|Hungary|Csongrád
+World|Europe|Hungary|Fejér
+World|Europe|Hungary|Gyõr-Moson-Sopron
+World|Europe|Hungary|Hajdú-Bihar
+World|Europe|Hungary|Heves
+World|Europe|Hungary|Jász-Nagykun-Szolnok
+World|Europe|Hungary|Komárom-Esztergom
+World|Europe|Hungary|Nógrád
+World|Europe|Hungary|Pest
+World|Europe|Hungary|Somogy
+World|Europe|Hungary|Szabolcs-Szatmár-Bereg
+World|Europe|Hungary|Tolna
+World|Europe|Hungary|Vas
+World|Europe|Hungary|Veszprém
+World|Europe|Hungary|Zala
+
+

Italy

+
World|Europe|Italy|Abruzzo
+World|Europe|Italy|Basilicata
+World|Europe|Italy|Calabria
+World|Europe|Italy|Campania
+World|Europe|Italy|Emilia-Romagna
+World|Europe|Italy|Friuli-Venezia Giulia
+World|Europe|Italy|Lazio
+World|Europe|Italy|Liguria
+World|Europe|Italy|Lombardia
+World|Europe|Italy|Marche
+World|Europe|Italy|Molise
+World|Europe|Italy|Piemonte
+World|Europe|Italy|Puglia
+World|Europe|Italy|Sardegna
+World|Europe|Italy|Sicilia
+World|Europe|Italy|Toscana
+World|Europe|Italy|Trentino-Alto Adige
+World|Europe|Italy|Umbria
+World|Europe|Italy|Valle D-Aosta
+World|Europe|Italy|Veneto
+
+

Netherlands

+
World|Europe|Netherlands|Drenthe
+World|Europe|Netherlands|Flevoland
+World|Europe|Netherlands|Fryslân
+World|Europe|Netherlands|Gelderland
+World|Europe|Netherlands|Groningen
+World|Europe|Netherlands|Limburg
+World|Europe|Netherlands|Noord-Brabant
+World|Europe|Netherlands|Noord-Holland
+World|Europe|Netherlands|Overijssel
+World|Europe|Netherlands|Utrecht
+World|Europe|Netherlands|Zeeland
+World|Europe|Netherlands|Zuid-Holland
+
+

Poland

+
World|Europe|Poland|Dolnośląskie
+World|Europe|Poland|Kujawsko-Pomorskie
+World|Europe|Poland|Lubelskie
+World|Europe|Poland|Lubuskie
+World|Europe|Poland|Mazowieckie
+World|Europe|Poland|Małopolskie
+World|Europe|Poland|Opolskie
+World|Europe|Poland|Podkarpackie
+World|Europe|Poland|Podlaskie
+World|Europe|Poland|Pomorskie
+World|Europe|Poland|Warmińsko-Mazurskie
+World|Europe|Poland|Wielkopolskie
+World|Europe|Poland|Zachodniopomorskie
+World|Europe|Poland|Łódzkie
+World|Europe|Poland|Śląskie
+World|Europe|Poland|Świętokrzyskie
+
+

Portugal

+
World|Europe|Portugal|Alentejo
+World|Europe|Portugal|Algarve
+World|Europe|Portugal|Açores
+World|Europe|Portugal|Centro
+World|Europe|Portugal|Lisboa
+World|Europe|Portugal|Madeira
+World|Europe|Portugal|Norte
+
+

Russia

+
World|Europe|Russia|Дальневосточный федеральный округ
+World|Europe|Russia|Приволжский федеральный округ
+World|Europe|Russia|Северо-Западный федеральный округ
+World|Europe|Russia|Северо-Кавказский федеральный округ
+World|Europe|Russia|Сибирский федеральный округ
+World|Europe|Russia|Уральский федеральный округ
+World|Europe|Russia|Центральный федеральный округ
+World|Europe|Russia|Южный федеральный округ
+
+

Дальневосточный федеральный округ

+
World|Europe|Russia|Дальневосточный федеральный округ|Амурская область
+World|Europe|Russia|Дальневосточный федеральный округ|Еврейская автономная область
+World|Europe|Russia|Дальневосточный федеральный округ|Забайкальский край
+World|Europe|Russia|Дальневосточный федеральный округ|Камчатский край
+World|Europe|Russia|Дальневосточный федеральный округ|Магаданская область
+World|Europe|Russia|Дальневосточный федеральный округ|Приморский край
+World|Europe|Russia|Дальневосточный федеральный округ|Республика Бурятия
+World|Europe|Russia|Дальневосточный федеральный округ|Республика Саха (Якутия)
+World|Europe|Russia|Дальневосточный федеральный округ|Сахалинская область
+World|Europe|Russia|Дальневосточный федеральный округ|Хабаровский край
+World|Europe|Russia|Дальневосточный федеральный округ|Чукотский автономный округ
+
+

Приволжский федеральный округ

+
World|Europe|Russia|Приволжский федеральный округ|Кировская область
+World|Europe|Russia|Приволжский федеральный округ|Нижегородская область
+World|Europe|Russia|Приволжский федеральный округ|Оренбургская область
+World|Europe|Russia|Приволжский федеральный округ|Пензенская область
+World|Europe|Russia|Приволжский федеральный округ|Пермский край
+World|Europe|Russia|Приволжский федеральный округ|Республика Башкортостан
+World|Europe|Russia|Приволжский федеральный округ|Республика Марий Эл
+World|Europe|Russia|Приволжский федеральный округ|Республика Мордовия
+World|Europe|Russia|Приволжский федеральный округ|Республика Татарстан
+World|Europe|Russia|Приволжский федеральный округ|Самарская область
+World|Europe|Russia|Приволжский федеральный округ|Саратовская область
+World|Europe|Russia|Приволжский федеральный округ|Удмуртская Республика
+World|Europe|Russia|Приволжский федеральный округ|Ульяновская область
+World|Europe|Russia|Приволжский федеральный округ|Чувашская Республика — Чувашия
+
+

Северо-Западный федеральный округ

+
World|Europe|Russia|Северо-Западный федеральный округ|Архангельская область
+World|Europe|Russia|Северо-Западный федеральный округ|Вологодская область
+World|Europe|Russia|Северо-Западный федеральный округ|Калининградская область
+World|Europe|Russia|Северо-Западный федеральный округ|Ленинградская область
+World|Europe|Russia|Северо-Западный федеральный округ|Мурманская область
+World|Europe|Russia|Северо-Западный федеральный округ|Ненецкий автономный округ
+World|Europe|Russia|Северо-Западный федеральный округ|Новгородская область
+World|Europe|Russia|Северо-Западный федеральный округ|Псковская область
+World|Europe|Russia|Северо-Западный федеральный округ|Республика Карелия
+World|Europe|Russia|Северо-Западный федеральный округ|Республика Коми
+World|Europe|Russia|Северо-Западный федеральный округ|Санкт-Петербург
+
+

Северо-Кавказский федеральный округ

+
World|Europe|Russia|Северо-Кавказский федеральный округ|Кабардино-Балкарская Республика
+World|Europe|Russia|Северо-Кавказский федеральный округ|Карачаево-Черкесская Республика
+World|Europe|Russia|Северо-Кавказский федеральный округ|Республика Дагестан
+World|Europe|Russia|Северо-Кавказский федеральный округ|Республика Ингушетия
+World|Europe|Russia|Северо-Кавказский федеральный округ|Республика Северная Осетия — Алания
+World|Europe|Russia|Северо-Кавказский федеральный округ|Ставропольский край
+World|Europe|Russia|Северо-Кавказский федеральный округ|Чеченская Республика
+
+

Сибирский федеральный округ

+
World|Europe|Russia|Сибирский федеральный округ|Алтайский край
+World|Europe|Russia|Сибирский федеральный округ|Иркутская область
+World|Europe|Russia|Сибирский федеральный округ|Кемеровская область
+World|Europe|Russia|Сибирский федеральный округ|Красноярский край
+World|Europe|Russia|Сибирский федеральный округ|Новосибирская область
+World|Europe|Russia|Сибирский федеральный округ|Омская область
+World|Europe|Russia|Сибирский федеральный округ|Республика Алтай
+World|Europe|Russia|Сибирский федеральный округ|Республика Тыва
+World|Europe|Russia|Сибирский федеральный округ|Республика Хакасия
+World|Europe|Russia|Сибирский федеральный округ|Томская область
+World|Europe|Russia|Уральский федеральный округ|Курганская область
+World|Europe|Russia|Уральский федеральный округ|Свердловская область
+World|Europe|Russia|Уральский федеральный округ|Тюменская область
+World|Europe|Russia|Уральский федеральный округ|Ханты-Мансийский автономный округ — Югра
+World|Europe|Russia|Уральский федеральный округ|Челябинская область
+World|Europe|Russia|Уральский федеральный округ|Ямало-Ненецкий автономный округ
+
+

Центральный федеральный округ

+
World|Europe|Russia|Центральный федеральный округ|Белгородская область
+World|Europe|Russia|Центральный федеральный округ|Брянская область
+World|Europe|Russia|Центральный федеральный округ|Владимирская область
+World|Europe|Russia|Центральный федеральный округ|Воронежская область
+World|Europe|Russia|Центральный федеральный округ|Ивановская область
+World|Europe|Russia|Центральный федеральный округ|Калужская область
+World|Europe|Russia|Центральный федеральный округ|Костромская область
+World|Europe|Russia|Центральный федеральный округ|Курская область
+World|Europe|Russia|Центральный федеральный округ|Липецкая область
+World|Europe|Russia|Центральный федеральный округ|Москва
+World|Europe|Russia|Центральный федеральный округ|Московская область
+World|Europe|Russia|Центральный федеральный округ|Орловская область
+World|Europe|Russia|Центральный федеральный округ|Рязанская область
+World|Europe|Russia|Центральный федеральный округ|Смоленская область
+World|Europe|Russia|Центральный федеральный округ|Тамбовская область
+World|Europe|Russia|Центральный федеральный округ|Тверская область
+World|Europe|Russia|Центральный федеральный округ|Тульская область
+World|Europe|Russia|Центральный федеральный округ|Ярославская область
+
+

Южный федеральный округ

+
World|Europe|Russia|Южный федеральный округ|Астраханская область
+World|Europe|Russia|Южный федеральный округ|Волгоградская область
+World|Europe|Russia|Южный федеральный округ|Краснодарский край
+World|Europe|Russia|Южный федеральный округ|Республика Адыгея
+World|Europe|Russia|Южный федеральный округ|Республика Калмыкия
+World|Europe|Russia|Южный федеральный округ|Республика Крым
+World|Europe|Russia|Южный федеральный округ|Ростовская область
+World|Europe|Russia|Южный федеральный округ|Севастополь
+
+

Serbia

+
World|Europe|Serbia|Beograd
+World|Europe|Serbia|Kruševac
+World|Europe|Serbia|Niš
+World|Europe|Serbia|Novi Sad
+
+

Slovenia

+
World|Europe|Slovenia|Dolenjska
+World|Europe|Slovenia|Gorenjska
+World|Europe|Slovenia|Koroška
+World|Europe|Slovenia|Notranjska
+World|Europe|Slovenia|Prekmurje
+World|Europe|Slovenia|Primorska
+World|Europe|Slovenia|Štajerska
+
+

Spain

+
World|Europe|Spain|Andalucía
+World|Europe|Spain|Aragón
+World|Europe|Spain|Asturias
+World|Europe|Spain|Cantabria
+World|Europe|Spain|Castilla y León
+World|Europe|Spain|Castilla-La Mancha
+World|Europe|Spain|Catalunya
+World|Europe|Spain|Comunidad de Madrid
+World|Europe|Spain|Comunitat Valenciana
+World|Europe|Spain|Euskadi
+World|Europe|Spain|Extremadura
+World|Europe|Spain|Galicia
+World|Europe|Spain|Illes Balears
+World|Europe|Spain|Islas Canarias
+World|Europe|Spain|La Rioja
+World|Europe|Spain|Navarra
+World|Europe|Spain|Región de Murcia
+
+

Switzerland

+
World|Europe|Switzerland|Aargau
+World|Europe|Switzerland|Appenzell-Ausserrhoden
+World|Europe|Switzerland|Appenzell-Innerrhoden
+World|Europe|Switzerland|Basel-Landschaft
+World|Europe|Switzerland|Basel-Stadt
+World|Europe|Switzerland|Bern
+World|Europe|Switzerland|Fribourg
+World|Europe|Switzerland|Genève
+World|Europe|Switzerland|Glarus
+World|Europe|Switzerland|Graubünden
+World|Europe|Switzerland|Jura
+World|Europe|Switzerland|Luzern
+World|Europe|Switzerland|Neuchâtel
+World|Europe|Switzerland|Nidwalden
+World|Europe|Switzerland|Obwalden
+World|Europe|Switzerland|Schaffhausen
+World|Europe|Switzerland|Schwyz
+World|Europe|Switzerland|Solothurn
+World|Europe|Switzerland|St. Gallen
+World|Europe|Switzerland|Thurgau
+World|Europe|Switzerland|Ticino
+World|Europe|Switzerland|Uri
+World|Europe|Switzerland|Valais (Wallis)
+World|Europe|Switzerland|Vaud
+World|Europe|Switzerland|Zug
+World|Europe|Switzerland|Zürich
+
+

United Kingdom

+
World|Europe|United Kingdom|England
+World|Europe|United Kingdom|Northern Ireland
+World|Europe|United Kingdom|Scotland
+World|Europe|United Kingdom|Wales
+
+

England

+
World|Europe|United Kingdom|England|East Midlands
+World|Europe|United Kingdom|England|East of England
+World|Europe|United Kingdom|England|London
+World|Europe|United Kingdom|England|North East England
+World|Europe|United Kingdom|England|North West England
+World|Europe|United Kingdom|England|South East England
+World|Europe|United Kingdom|England|South West England
+World|Europe|United Kingdom|England|West Midlands
+World|Europe|United Kingdom|England|Yorkshire and the Humber
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/competition-tool/zones/04-middle-east/index.html b/club/competition-tool/zones/04-middle-east/index.html new file mode 100644 index 0000000..b8a1316 --- /dev/null +++ b/club/competition-tool/zones/04-middle-east/index.html @@ -0,0 +1,2136 @@ + + + + + + + + + + + + + + + + + + + + + + Middle East - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Middle East

+
+

Warning

+

This section contains the list of available zones to be used for creating competitions. It may be incomplete.

+
+
World|Middle East|Bahrain
+World|Middle East|Egypt
+World|Middle East|Iran
+World|Middle East|Iraq
+World|Middle East|Israel
+World|Middle East|Jordan
+World|Middle East|Kuwait
+World|Middle East|Lebanon
+World|Middle East|Oman
+World|Middle East|Qatar
+World|Middle East|Saudi Arabia
+World|Middle East|Syria
+World|Middle East|United Arab Emirates
+World|Middle East|Yemen
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/competition-tool/zones/05-north-america/index.html b/club/competition-tool/zones/05-north-america/index.html new file mode 100644 index 0000000..f771368 --- /dev/null +++ b/club/competition-tool/zones/05-north-america/index.html @@ -0,0 +1,2271 @@ + + + + + + + + + + + + + + + + + + + + + + North America - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

North America

+
+

Warning

+

This section contains the list of available zones to be used for creating competitions. It may be incomplete.

+
+
World|North America|Antigua and Barbuda
+World|North America|Bahamas
+World|North America|Barbados
+World|North America|Belize
+World|North America|Canada
+World|North America|Costa Rica
+World|North America|Cuba
+World|North America|Dominica
+World|North America|Dominican Republic
+World|North America|El Salvador
+World|North America|Grenada
+World|North America|Haiti
+World|North America|Honduras
+World|North America|Jamaica
+World|North America|Mexico
+World|North America|Nicaragua
+World|North America|Saint Kitts and Nevis
+World|North America|Saint Lucia
+World|North America|Saint Vincent and the Grenadines
+World|North America|Trinidad and Tobago
+World|North America|United States
+
+

Canada

+
World|North America|Canada|Alberta
+World|North America|Canada|British Columbia
+World|North America|Canada|Manitoba
+World|North America|Canada|New Brunswick
+World|North America|Canada|Newfoundland and Labrador
+World|North America|Canada|Northwest Territories
+World|North America|Canada|Nova Scotia
+World|North America|Canada|Nunavut
+World|North America|Canada|Ontario
+World|North America|Canada|Prince Edward Island
+World|North America|Canada|Quebec
+World|North America|Canada|Saskatchewan
+World|North America|Canada|Yukon
+
+

United States

+
World|North America|United States|Alabama
+World|North America|United States|Alaska
+World|North America|United States|Arizona
+World|North America|United States|Arkansas
+World|North America|United States|California
+World|North America|United States|Colorado
+World|North America|United States|Connecticut
+World|North America|United States|Delaware
+World|North America|United States|Florida
+World|North America|United States|Georgia
+World|North America|United States|Hawaii
+World|North America|United States|Idaho
+World|North America|United States|Illinois
+World|North America|United States|Indiana
+World|North America|United States|Iowa
+World|North America|United States|Kansas
+World|North America|United States|Kentucky
+World|North America|United States|Louisiana
+World|North America|United States|Maine
+World|North America|United States|Maryland
+World|North America|United States|Massachusetts
+World|North America|United States|Michigan
+World|North America|United States|Minnesota
+World|North America|United States|Mississippi
+World|North America|United States|Missouri
+World|North America|United States|Montana
+World|North America|United States|Nebraska
+World|North America|United States|Nevada
+World|North America|United States|New Hampshire
+World|North America|United States|New Jersey
+World|North America|United States|New Mexico
+World|North America|United States|New York
+World|North America|United States|North Carolina
+World|North America|United States|North Dakota
+World|North America|United States|Ohio
+World|North America|United States|Oklahoma
+World|North America|United States|Oregon
+World|North America|United States|Pennsylvania
+World|North America|United States|Rhode Island
+World|North America|United States|South Carolina
+World|North America|United States|South Dakota
+World|North America|United States|Tennessee
+World|North America|United States|Texas
+World|North America|United States|Utah
+World|North America|United States|Vermont
+World|North America|United States|Virginia
+World|North America|United States|Washington
+World|North America|United States|Washington, D.C.
+World|North America|United States|West Virginia
+World|North America|United States|Wisconsin
+World|North America|United States|Wyoming
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/competition-tool/zones/06-oceania/index.html b/club/competition-tool/zones/06-oceania/index.html new file mode 100644 index 0000000..29e5c32 --- /dev/null +++ b/club/competition-tool/zones/06-oceania/index.html @@ -0,0 +1,2191 @@ + + + + + + + + + + + + + + + + + + + + + + Oceania - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Oceania

+
+

Warning

+

This section contains the list of available zones to be used for creating competitions. It may be incomplete.

+
+
World|Oceania|Australia
+World|Oceania|Fiji
+World|Oceania|Marshall Islands
+World|Oceania|Micronesia
+World|Oceania|Nauru
+World|Oceania|New Zealand
+World|Oceania|Palau
+World|Oceania|Papua New Guinea
+World|Oceania|Samoa
+World|Oceania|Solomon Islands
+World|Oceania|Tonga
+World|Oceania|Tuvalu
+World|Oceania|Vanuatu
+
+

Australia

+
World|Oceania|Australia|Australian Capital Territory
+World|Oceania|Australia|New South Wales
+World|Oceania|Australia|Northern Territory
+World|Oceania|Australia|Queensland
+World|Oceania|Australia|South Australia
+World|Oceania|Australia|Tasmania
+World|Oceania|Australia|Victoria
+World|Oceania|Australia|Western Australia
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/competition-tool/zones/07-south-america/index.html b/club/competition-tool/zones/07-south-america/index.html new file mode 100644 index 0000000..3a68978 --- /dev/null +++ b/club/competition-tool/zones/07-south-america/index.html @@ -0,0 +1,2242 @@ + + + + + + + + + + + + + + + + + + + + + + South America - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

South America

+
+

Warning

+

This section contains the list of available zones to be used for creating competitions. It may be incomplete.

+
+
World|South America|Argentina
+World|South America|Bolivia
+World|South America|Brazil
+World|South America|Chile
+World|South America|Colombia
+World|South America|Ecuador
+World|South America|Guatemala
+World|South America|Guyana
+World|South America|Panama
+World|South America|Paraguay
+World|South America|Peru
+World|South America|Suriname
+World|South America|Uruguay
+World|South America|Venezuela
+
+

Brazil

+
World|South America|Brazil|Acre
+World|South America|Brazil|Alagoas
+World|South America|Brazil|Amapá
+World|South America|Brazil|Amazonas
+World|South America|Brazil|Bahia
+World|South America|Brazil|Ceará
+World|South America|Brazil|District fédéral
+World|South America|Brazil|Espírito Santo
+World|South America|Brazil|Goiás
+World|South America|Brazil|Maranhão
+World|South America|Brazil|Mato Grosso
+World|South America|Brazil|Mato Grosso do Sul
+World|South America|Brazil|Minas Gerais
+World|South America|Brazil|Paraná
+World|South America|Brazil|Paraïba
+World|South America|Brazil|Pará
+World|South America|Brazil|Pernambuco
+World|South America|Brazil|Piauí
+World|South America|Brazil|Rio Grande do Norte
+World|South America|Brazil|Rio Grande do Sul
+World|South America|Brazil|Rio de Janeiro
+World|South America|Brazil|Rondônia
+World|South America|Brazil|Roraima
+World|South America|Brazil|Santa Catarina
+World|South America|Brazil|Sergipe
+World|South America|Brazil|São Paulo
+World|South America|Brazil|Tocantins
+
+

Chile

+
World|South America|Chile|Aisen
+World|South America|Chile|Antofagasta
+World|South America|Chile|Araucania
+World|South America|Chile|Arica y Parinacota
+World|South America|Chile|Atacama
+World|South America|Chile|Biobio
+World|South America|Chile|Coquimbo
+World|South America|Chile|Los Lagos
+World|South America|Chile|Los Rios
+World|South America|Chile|Magallanes y Antartica
+World|South America|Chile|Maule
+World|South America|Chile|OHiggins
+World|South America|Chile|Santiago
+World|South America|Chile|Tarapaca
+World|South America|Chile|Valparaiso
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/competition-tool/zones/index.html b/club/competition-tool/zones/index.html new file mode 100644 index 0000000..7f78cba --- /dev/null +++ b/club/competition-tool/zones/index.html @@ -0,0 +1,2177 @@ + + + + + + + + + + + + + + + + + + + + + + World - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Zones

+
+

Warning

+

This section contains the list of available zones to be used for creating competitions. It may be incomplete.

+
+

World

+
World
+World|Africa
+World|Asia
+World|Europe
+World|Middle East
+World|North America
+World|Oceania
+World|South America
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/create-a-club/index.html b/club/create-a-club/index.html new file mode 100644 index 0000000..d1a6c39 --- /dev/null +++ b/club/create-a-club/index.html @@ -0,0 +1,2195 @@ + + + + + + + + + + + + + + + + + + + + + + How to create a club? - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

How to create a club?

+
+

Paid access required

+

This feature requires an active Club Access subscription.

+
+

To create a club, click on the Clubs option in the Main Menu and click on one of the two options as highlighted below.

+

Create a Club

+

Afterwards, follow the on-screen instructions to fill out the required information for your club.

+

General Club settings

+

Club Creation - General

+

Here you can choose the name, club tag and description for your club, as well as its privacy. All of these fields can be changed later as well.

+

The privacy has three possible options:

+
    +
  • Public - Open to everyone: Everyone can join this club with no restrictions whatsoever. The most common option
  • +
  • Private - Accept requests: Players can apply to join your club, but will not be able to join without your or a club admin's approval.
  • +
  • Private: Nobody can join the club and nobody can apply to join the club either.
  • +
+

Branding/Stadium settings

+
+

Custom Assets require PC version

+

To upload custom images to your club, you need to create/edit your club from the PC version of Trackmania.

+

Console and cloud versions are limited to a selection of default assets.

+
+

Here you can select/upload various branding related images for your club.

+

Templates for custom assets for both the Branding and Stadium related club customization options can be found here.

+
+

Author: Chris92

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/create-manage-activity/index.html b/club/create-manage-activity/index.html new file mode 100644 index 0000000..c0d0499 --- /dev/null +++ b/club/create-manage-activity/index.html @@ -0,0 +1,2213 @@ + + + + + + + + + + + + + + + + + + + + + + Create and manage an activity - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Create and manage an activity

+
+

Club permissions

+

In order to create and manage activities for a club you must either have the Creator, Admin or Content Creator role for that club.

+
+

Creating an activity

+

To create an activity in the club you need to press the '+' button to the right of "Club Activities".

+

Create Activity Button Image

+

After pressing the '+' button you will be presented with the following list of activities you can add to the club:

+ + + +

Managing activities

+

To manage activities you first need to enter the Administration menu for the club by selecting the button shown in the image below.

+

Admin Mode Button Image

+

This will present you with two tabs. One contains the active activities of the club and the other one contains deactivated activities. +Selecting one of the activities will show you a menu with the following options:

+
    +
  • Move
    + Allows you to rearrange the order of the activities.
  • +
  • Feature/Unfeature
    + Marks the activity with a '★' symbol to highlight a specific activity. (Note: Only one activity can be featured at a time.)
  • +
  • Edit
    + Allows you to change the content of the selected activity.
  • +
  • Set Private/Public
    + Allows you to open the activity up to the public or limit the access to the members of the club.
  • +
  • Activate/Deactivate
    + Activities can be deactivated so they will not show up in the club page anymore and reactivated to make them show again.
  • +
  • Remove
    + Removes an activity from the club permanently.
  • +
+
+

Author: Henkisme

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/how-to-join/index.html b/club/how-to-join/index.html new file mode 100644 index 0000000..9e45c31 --- /dev/null +++ b/club/how-to-join/index.html @@ -0,0 +1,2124 @@ + + + + + + + + + + + + + + + + + + + + + + How to join a club? - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

How to join a club?

+
+

Paid access required

+

This feature requires an active Club Access subscription.

+
+

Upon launching the game and finding yourself at the main menu, please navigate to the menu option labeled CLUBS and select this option.

+

Menu Options

+

After selecting the CLUBS option, you will be now be greeted with the Club Menu. This is the "homepage" for in-game clubs.

+

In the Club Menu, you will see a few different menu options and a scrollable list of in-game clubs. If you are able to find the club you wish to join by using the scrollable list provided, navigate to the club and then interact with the thumbnail. This will open the club page.

+

Alternatively, if you are unable to locate your club of choice, you can search for it directly by selecting this magnifying glass to open a search function. Here you can enter the name of the club you wish to search for.

+

Search Function

+

Upon locating and entering the club page, you will see options for the club's different activities. In order to successfully join a club, you will need to navigate to and select the JOIN button at the top of the screen.

+

Join Button

+

Note that some Clubs and Activities are private and will require acceptance from a Club Admin.

+
+

Author: XLRB

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/club/index.html b/club/index.html new file mode 100644 index 0000000..ba4327b --- /dev/null +++ b/club/index.html @@ -0,0 +1,2158 @@ + + + + + + + + + + + + + + + + + + + + + + Help expand this section - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Trackmania documentation

+

This is a work in progress website.

+

Contribute

+

Feel free to contribute through the github project.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/create/garage/prestige-skins/index.html b/create/garage/prestige-skins/index.html new file mode 100644 index 0000000..a613f01 --- /dev/null +++ b/create/garage/prestige-skins/index.html @@ -0,0 +1,2201 @@ + + + + + + + + + + + + + + + + + + + + + + Prestige Skins - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Prestige skins

+

Prestige skins are a form of in-game achievement that you can gain in several different ways. +Getting prestige levels unlocks special skins with lights on the rims and around the cockpit that show off your prestige level.

+

See the graphic and the explanations below for an overview of the different types.

+

Prestige skins

+

Royal skins

+

To unlock Royal skins, place 4th/3rd/2nd/1st and you'll unlock the respective skin for your team and placement.

+

To level up, get the same placement again with the same animal.

+

Season skins

+

To unlock Season skins, get 1 bronze/3 silver/5 gold/10 author medals (across the current seasonal campaign and all TOTDs of the season) to unlock its respective skin.

+

Note that TOTD medals count as long as they were driven during the season, no need to get them on the same day of their release.

+

To level up, get more medals of the same type. Every 3 bronze/5 silver/6 gold/7 author medals, your prestige skin will level up.

+

Ranked skins

+

To unlock Ranked skins, obtain the rank and you'll get its skin.

+

To level up, keep the rank for another month.

+
+

Author: tooInfinite

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/create/index.html b/create/index.html new file mode 100644 index 0000000..94d7d01 --- /dev/null +++ b/create/index.html @@ -0,0 +1,2158 @@ + + + + + + + + + + + + + + + + + + + + + + Help expand this section - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Trackmania documentation

+

This is a work in progress website.

+

Contribute

+

Feel free to contribute through the github project.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/create/map-review/play-others-maps/index.html b/create/map-review/play-others-maps/index.html new file mode 100644 index 0000000..66289f7 --- /dev/null +++ b/create/map-review/play-others-maps/index.html @@ -0,0 +1,2125 @@ + + + + + + + + + + + + + + + + + + + + + + Play others' maps - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Play others' maps.

+

In order to review other players' maps and join the track review +server, you must navigate from the main menu to CREATE, then +TRACK REVIEW, and finally REVIEW OTHER TRACKS. Once +selecting REVIEW OTHER TRACKS, you will be able to select +whether you want to review maps for TRACK OF THE DAY or +ROYAL.

+

Once choosing a map review type, you will then be moved to a review +server, where you will be able to test other players\' maps and give +them a rating from 1-5 stars.

+

These ratings will be seen by map selectors from Ubisoft Nadeo and based on the +amount of reviews, will decide whether the map is qualified to be either +a Track of the Day, or a Royal Map.

+
+

Author: vikingjoe

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/create/map-review/submit-your-map-to-map-review/index.html b/create/map-review/submit-your-map-to-map-review/index.html new file mode 100644 index 0000000..595d862 --- /dev/null +++ b/create/map-review/submit-your-map-to-map-review/index.html @@ -0,0 +1,2189 @@ + + + + + + + + + + + + + + + + + + + + + + Submit your map to map review - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Submit your map to map review

+

Map Review allows you to gather feedback for your tracks from other players.

+

Submit via the menu

+

In order to submit your map to be reviewed, you must navigate from the +main menu to CREATE, then TRACK REVIEW, and finally +SUBMIT YOUR TRACKS. Once selecting SUBMIT YOUR TRACKS, +you will be able to select a map of your choice to be submitted to +either TRACK OF THE DAY or ROYAL. A more specific +description on how to submit tracks can be found in the "Map Review +Section" under Navigating the menus.

+

Once choosing a map, you will then be given an estimated maximum waiting +time, and which game mode you have selected to submit the map to.

+

You can then press the SEND FOR REVIEW button, which will insert +your map into the map review server, where other players can test/play +your map, and ultimately give a 1-5 star review.

+

Submit via the Track Editor

+

After successful validation of your map and calculation of the shadows, you have the option to submit the track to Map review via the LIVE TEST popup option you get after saving the map.

+
+

Author: vikingjoe

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/create/map-review/what-is-map-review/index.html b/create/map-review/what-is-map-review/index.html new file mode 100644 index 0000000..773fea4 --- /dev/null +++ b/create/map-review/what-is-map-review/index.html @@ -0,0 +1,2175 @@ + + + + + + + + + + + + + + + + + + + + + + What is map review? - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

What is Map Review?

+
+

Paid access required

+

This feature requires an active Standard Access or Club Access subscription.

+
+

Map review is a feature in Trackmania that allows players to play and review maps that have been created by other players, as well as submit their own maps for review and feedback.

+

Map review is a valuable area for mappers to receive feedback and achieve a better understanding of how to improve as a mapper. In order to join map review and play other maps that were created by fellow community members follow these instructions below:

+ +

Upon launching the game and loading into the main menu, you will see several options to select from. In order to locate the map review server, first select the CREATE button.

+

Create

+

After selecting CREATE, you will now see 4 options. Please select the option labeled TRACK REVIEW.

+

Track Review

+

From here you will see a different set of 4 options. Please select the option labeled REVIEW OTHER TRACKS.

+

Review Other Tracks

+

Lastly, you will have the option choose from either the TRACK OF THE DAY or ROYAL servers.

+

TOTD/Royal

+

The aim of these servers is to provide an honest rating of the maps displayed on their functionality in Cup of the Day or Super Royal features of Trackmania and/or offer advice to mappers in order to help improve a map's quality overall.

+
+

Author: XLRB

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/create/nadeo-importer/01-download-and-install/index.html b/create/nadeo-importer/01-download-and-install/index.html new file mode 100644 index 0000000..084f30b --- /dev/null +++ b/create/nadeo-importer/01-download-and-install/index.html @@ -0,0 +1,2238 @@ + + + + + + + + + + + + + + + + + + + + + + Download and Install - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Download and install

+

How to install Nadeo Importer

+

First download the importer zip file, and also the sample zip file if you are interested (see below for the download links).

+

The importer must be unzipped in the {Trackmania_exe_dir} folder, which is the folder that contains Trackmania.exe, typically C:\Program Files\Ubisoft\Ubisoft Game Launcher\games\Trackmania or C:\Program Files\Trackmania. +You might neeed administrator rights to unzip and place the importer files in there.

+
+

This will add some files to your {Trackmania_exe_dir} folder, but the most important one is NadeoImporter.exe.

+

See section How to import an item to learn how to use this executable properly.

+
+

The sample files are not mandatory, but provide examples that can help you: you can unzip them in the {Trackmania_user_dir} folder, which is typically {My Documents}\Trackmania. +This will create the folder {Trackmania_user_dir}\Work\Items\Samples and fill it with source assets, ready to be imported.

+

Current release

+

Importer zip: https://nadeo-download.cdn.ubi.com/trackmania/NadeoImporter_2022_07_12.zip

+

Sample zip: https://nadeo-download.cdn.ubi.com/trackmania/NadeoImporterSamples_2021_01_19.zip

+

Changelog

+
    +
  • 2020/12/15: Initial release
  • +
  • 2021/01/19: Add support for GameplayId (Turbo, Slow motion, etc.), and also PhysicsId
  • +
  • 2021/03/24: Fix crashes linked to wrong UV mappings imported via Nadeo Importer, and detect the issue when importing
  • +
  • 2021/04/23: Add CustomMetalPaint in the MatLib
  • +
  • 2021/07/07: Update MaterialLib, PhysicsIds and GameplayIds with new materials from the June 2021 update
  • +
  • 2021/10/15: Fix MaterialLib (BaseMaterial UVs were used for Lightmap in CustomXyz materials), fix bugs (wrong return code + omitted FbxFile attribute in MeshParams.xml was not handled correctly)
  • +
  • 2022/07/12: GlassWaterWall is no longer invisible, added materials ("CustomModAddSelfIllum", "CustomModSelfIllumSimple", Chrono materials, "PlatformDirt_DecoHill2", "PlatformIce_DecoHill2"), fixed blur issues on the "CustomModSelfIllum" material, added second version of each "CustomMod..." material, fixed the behaviour when using both _notvisible_ or _notcollidable_ and Lods.
  • +
+

All releases

+

Importer zip:

+ +

Sample zip:

+ + + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/create/nadeo-importer/02-how-to-import-an-item/index.html b/create/nadeo-importer/02-how-to-import-an-item/index.html new file mode 100644 index 0000000..9865719 --- /dev/null +++ b/create/nadeo-importer/02-how-to-import-an-item/index.html @@ -0,0 +1,2318 @@ + + + + + + + + + + + + + + + + + + + + + + How to import an item - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

How to import an item

+

File organization

+

The source assets (.fbx, .MeshParams.xml and .Item.xml files) must be placed in sub folders of {Trackmania_user_dir}\Work\Items.

+

The corresponding imported files (.Item.Gbx) will be created in sub folders of {Trackmania_user_dir}\Items (without \Work).

+

For instance:

+
    +
  • +

    source assets:
    + {Trackmania_user_dir}\Work\Items\Samples\StaticObjects\Mesh\Slope_Base.fbx
    + {Trackmania_user_dir}\Work\Items\Samples\StaticObjects\Mesh\Slope_Base.MeshParams.xml
    + {Trackmania_user_dir}\Work\Items\Samples\StaticObjects\Slope_Base.Item.xml

    +
  • +
  • +

    imported file:
    + {Trackmania_user_dir}\Items\Samples\StaticObjects\Slope_Base.Item.gbx

    +
  • +
+

So you must create the source assets first.

+

The Samples.zip file that you can download in section Download and install contains examples of such files.

+

For more information about how to create and edit source assets, see the following sections:

+ +

Import command

+

To generate the .Item.Gbx File:

+
    +
  1. Open a command line window in your {Trackmania_exe_dir} folder. One quick way to do that is to maintain Shift and right-click on this folder in Windows Explorer, and then select "Open PowerShell window here" or "Open command window here" in the context menu.
  2. +
  3. Type the following command:
  4. +
+
.\NadeoImporter Item {Item.xml_Filename_Relative_To_WorkFolder}
+
+

For instance:

+
.\NadeoImporter Item Items\Samples\StaticObjects\Slope_Base.Item.xml
+
+

Notes

+

Wildcard character

+

You can also use the wildcard character * to import several items at once.

+

For example, if you want to import all the items contained in {Trackmania_user_dir}\Work\Items\Samples\StaticObjects:

+
.\NadeoImporter Item Items\Samples\StaticObjects\*.Item.xml
+
+

Icon

+

If you want your item to have an icon in the Map Editor (which is recommended), see section How to add an icon to my item

+

Command arguments

+

The .MeshParams.xml and .fbx files do not appear in the arguments of this command line, because:

+ +

There is also a facultative command argument: /LogMeshStats. +This will give you some information about the fbx you are importing.

+
.\NadeoImporter Item Items\Samples\StaticObjects\Slope_Base.Item.xml /LogMeshStats
+
+

PowerShell vs classic command line

+

The .\ before NadeoImporter is mandatory in PowerShell, but not in classic command line.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/create/nadeo-importer/03-how-to-create-the-fbx-file/index.html b/create/nadeo-importer/03-how-to-create-the-fbx-file/index.html new file mode 100644 index 0000000..8b86bf8 --- /dev/null +++ b/create/nadeo-importer/03-how-to-create-the-fbx-file/index.html @@ -0,0 +1,2235 @@ + + + + + + + + + + + + + + + + + + + + + + How to create the fbx file - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

How to create the fbx file

+

You can export .fbx files from external 3d editors such as Blender or 3ds Max.

+

Materials

+

The file must contain meshes with materials.

+

You can name your materials however you want, but you must remember those names because you will have to bind them to actual Trackmania material names in the .MeshParams.xml file (see section How to create the MeshParams xml file).

+

UVs

+

Uvs : for most of the static mesh materials, you will need 2 UV layers:

+
    +
  • +

    a layer named BaseMaterial : base layer of the material, typically mapping your Diffuse texture.

    +
  • +
  • +

    a layer named Lightmap : mandatory, needed for lightmap computation in Map Editor.

    +
  • +
+
+

For the Lightmap layer, the UV must not overlap, otherwise it will cause invalid lightmaps !

+

Some materials will need only one of those two layers, as you can see in the file {Trackmania_exe_dir}\NadeoImporterMaterialLib.txt

+
+

In Blender, it's easy to name your layers.

+

In 3dsMax (which is classicaly index-based for layers), you have two options:

+
    +
  • +

    use the Channel Info utility to name your layers (comes with 3dsmax, available in panel Utility > More > Channel info)

    +
  • +
  • +

    or add the following information to the User Defined Properties (this is what Channel Info would do anyway):

    +
  • +
+
MapChannel:1 = BaseMaterial
+MapChannel:2 = LightMap
+
+

Special object prefixes

+

The name of the objects contained in the .fbx file are ignored, except if they start with one of the following special prefixes:

+
    +
  • +

    If the object name is _socket_start, its location is considered a special landmark, which will be interpreted as a spawn location for players. This is useful for all waypoint items (like checkpoint items): see section How to make a waypoint item for more information

    +
  • +
  • +

    If the object name starts with _trigger_ (for example: _trigger_A), its mesh will not be visible, and when a player will go through it, it will trigger a checkpoint or a finish event, depending on the type of item. See section How to make a waypoint item for more information.

    +
  • +
  • +

    If the object name starts with _notvisible_ (for example: _notvisible_B), its mesh will not be visible, but will be collidable (it's an "invisible wall" for players).

    +
  • +
  • +

    If the object name starts with _notcollidable_ (for example _notcollidable_C), its mesh will be visible but not collidable, the player will be able to go through it.

    +
  • +
  • +

    If the object name starts with _skip_, its mesh will be completely ignored during the import process (might be useful to have landmarks in your 3d software that will not have any effect on the resulting .Item.Gbx).

    +
  • +
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/create/nadeo-importer/04-how-to-create-the-meshparams-xml-file/index.html b/create/nadeo-importer/04-how-to-create-the-meshparams-xml-file/index.html new file mode 100644 index 0000000..deb8cc5 --- /dev/null +++ b/create/nadeo-importer/04-how-to-create-the-meshparams-xml-file/index.html @@ -0,0 +1,2291 @@ + + + + + + + + + + + + + + + + + + + + + + How to create the MeshParams xml file - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

How to create the MeshParams xml file

+

Just create an empty text file (which has the extension ".txt" by default) and change its extension by renaming it {ItemName}.MeshParams.xml (for example: Slope_Base.MeshParams.xml).

+

Open this file in your favorite text editor (for example: Notepad++), and copy-paste the following template:

+
<MeshParams MeshType="Static" Collection="Stadium" Scale="1" FbxFile="ItemName.fbx">
+  <Materials>
+    <Material Name="A" Link="Name1FromTheMaterialLib" Color="F00" PhysicsId="Name1FromThePhysicsIdLib" GameplayId="Name1FromTheGameplayIdLib" />
+    <Material Name="B" Link="Name2FromTheMaterialLib" Color="F00" PhysicsId="Name2FromThePhysicsIdLib" GameplayId="Name2FromTheGameplayIdLib" />
+  </Materials>
+</MeshParams>
+
+

Then adapt it to your situation, according to the following explanations:

+
    +
  • MeshParams tag is mandatory
  • +
  • attributes:
      +
    • MeshType is mandatory and should not be changed ("Static")
    • +
    • Collection is mandatory and should not be changed ("Stadium")
    • +
    • Scale is facultative. You can set a value greater than 1 to make your item bigger, or less than 1 to make it smaller. But you should not set it to 0 or a negative value.
    • +
    • FbxFile is facultative. If this attribute is omitted, then the fbx file is supposed to be next to this xml file, with the same name (but a different extension: .fbx). If the fbx file has a different name or is in a different folder though, you have to put its relative path in this attribute.
    • +
    +
  • +
  • sub-tags:
      +
    • Materials tag is mandatory, because your mesh is supposed to have materials, that we have to link to the game material library at some point
    • +
    • sub-tags:
        +
      • Material: You should put one Material tag for each material contained in your fbx file
      • +
      • attributes:
          +
        • Name: the name of the material in the fbx file, that you have chosen when making your model in the 3d software you have used (Blender, 3ds Max...)
        • +
        • Link: the name of a material of Trackmania material library. The list of library materials can be found in {Trackmania_exe_dir}\NadeoImporterMaterialLib.txt, which was placed next to NadeoImporter.exe when you unzipped the importer files (see section Download and install)
        • +
        • Color: facultative. If the linked material is a colorizable one, you can specify the color you want with a 3-digit or 6-digit hexadecimal color code (RGB or RRGGBB). For instance: F00 or FF0000 for red, 0F0 or 00FF00 for green, 00F or 0000FF for blue, FF0 or FFFF00 for yellow, etc.
        • +
        • PhysicsId: facultative (and not recommended). Overrides the way the cars will interact physically with the surface. You should not overuse this feature because it is usually a bad idea (for gameplay and fun) to have a surface looking like grass but behaving like dirt. You can find the list of possible values in the PhysicsId library below.
        • +
        • GameplayId: facultative. Setting a value different than None will add a special gameplay effect to the surface, like activating free wheeling or slow motion modes. Some of those gameplay effects such as Turbo or ReactorBoost are "oriented": the direction of this effect is automatically the local z-axis of the item. You can find the list of possible values in the GameplayId library below. This option is available only for specific values of the Link attribute: see Materials compatible with GameplayId below.
        • +
        +
      • +
      +
    • +
    +
  • +
+

You should get something like this:

+
<MeshParams MeshType="Static" Collection="Stadium">
+  <Materials>
+    <Material Name="Road1" Link="RoadDirt" />
+    <Material Name="Road2" Link="RoadBump" />
+    <Material Name="Wall" Link="TrackWall" />
+  </Materials>
+</MeshParams>
+
+

PhysicsId library

+

Here is the list of all PhysicsId in the game.

+

Each one has a different effect on car grip and speed (it also affects sound and skid marks).

+

Each material has a default PhysicsId that you can see in {Trackmania_exe_dir}\NadeoImporterMaterialLib.txt, next to NadeoImporter.exe (see section Download and install).

+

You can override this default behavior with the PhysicsId attribute of the Material tag, but it is not recommended (see the description of this attribute above).

+
    +
  • Asphalt: the actual base material of TrackMania, used on every normal road and platforms
  • +
  • Concrete: "base" material, but not used for base roads in TM !
  • +
  • Dirt: used in dirt blocks
  • +
  • Grass: used in the default grass of the stadium (not to be mistaken with Green surfaces) and as a speed penalty surface
  • +
  • Green: used in synthetic grass platforms (not to be mistaken with Grass surfaces)
  • +
  • Ice: used in the colorable CustomIce material
  • +
  • Metal: used in black platform blocks
  • +
  • MetalTrans: mostly used on screens
  • +
  • NotCollidable: used for decals, to... not be collidable. But instead of using this PhysicsId, you should rather use the _notcollidable_ prefix in your fbx objects, as described in section How to create the fbx file.
  • +
  • Pavement: used in the colorable CustomBricks material
  • +
  • Plastic: used in inflatable items introduced in June 2021 update
  • +
  • ResonantMetal: also used in black platform blocks, usually makes a noise on collision
  • +
  • RoadIce: used in "bobsleigh" ice blocks
  • +
  • RoadSynthetic: used in bump roads
  • +
  • Rock: used in colorable CustomRock material
  • +
  • Rubber: used on the sides of the roads, gives speed penalty when hit
  • +
  • Sand: used as a speed penalty surface in dirt platform blocks
  • +
  • Snow: used in colorable CustomSnow material and as a speed penalty surface
  • +
  • TechMagnetic: not used in any game material, makes the car attracted to that surface
  • +
  • TechMagneticAccel: not used in any game material, makes the car attracted to that surface and gives it a better acceleration while on it
  • +
  • TechSuperMagnetic: not used in any game material, makes the car attracted strongly to that surface
  • +
  • Wood: used in colorable CustomRoughWood material
  • +
+

GameplayId library

+

Here are the values you can use for the GameplayId attribute of the Material tag:

+
    +
  • Bumper: makes the car bump a bit
  • +
  • Bumper2: makes the car bump a lot
  • +
  • Cruise: makes the car maintain its speed
  • +
  • ForceAcceleration: disables breaking until next Reset block or next checkpoint
  • +
  • Fragile: makes the car sensitive to hard bumps and crashes, making it harder to handle and accelerate the more damages it takes. Only gets back to normal with a Reset Block
  • +
  • FreeWheeling: entirely stops the engine until next Reset block or next checkpoint
  • +
  • NoBrakes: disables the car brakes
  • +
  • NoGrip: comparable to ice, but way less handling and no drift mechanic until next Reset block or next checkpoint
  • +
  • None: no gameplay effect (this is the default value for all game materials)
  • +
  • NoSteering: disables steering until next Reset block or next checkpoint
  • +
  • ReactorBoost: activates flames at the sides of the wheels that push the car upwards or downwards for some time or until next Reset block (direction of ReactorBoost is along Z-axis: towards positive Z is ReactorBoost Up and towards negative is ReactorBoost Down)
  • +
  • ReactorBoost2: same effect as ReactorBoost, but stronger
  • +
  • Reset: disables any ongoing gameplay effects
  • +
  • SlowMotion: slows down the behaviour of the car (but not the timer) for some time or until next Reset block
  • +
  • Turbo: "yellow turbo" blocks, sudden burst of acceleration (direction of Turbo is North / along Z-axis)
  • +
  • Turbo2: "red turbo" blocks, stronger burst of acceleration (direction of Turbo2 is North / along the Z-axis)
  • +
+

Materials compatible with GameplayId

+

Here are the values of attribute Link that enable the use of attribute GameplayId:

+
    +
  • PlatformDirt_PlatformTech
  • +
  • PlatformGrass_PlatformTech
  • +
  • PlatformIce_PlatformTech
  • +
  • PlatformTech
  • +
  • RoadBump
  • +
  • RoadDirt
  • +
  • RoadIce
  • +
  • RoadTech
  • +
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/create/nadeo-importer/05-how-to-create-the-item-xml-file/index.html b/create/nadeo-importer/05-how-to-create-the-item-xml-file/index.html new file mode 100644 index 0000000..9083c46 --- /dev/null +++ b/create/nadeo-importer/05-how-to-create-the-item-xml-file/index.html @@ -0,0 +1,2192 @@ + + + + + + + + + + + + + + + + + + + + + + How to create the Item xml file - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

How to create the Item xml file

+

Just create an empty text file (which has the extension ".txt" by default) and change its extension by renaming it {ItemName}.Item.xml (for example: Slope_Base.Item.xml).

+

Open this file in your favorite text editor (for example: Notepad++), and copy-paste the following template:

+
<Item Type="StaticObject" Collection="Stadium" AuthorName="YourAuthorName">
+  <MeshParamsLink File="Mesh/ItemName.MeshParams.xml"/>
+  <Waypoint Type="Checkpoint"/>
+  <Pivots>
+    <Pivot Pos="0 0 0"/>
+    <Pivot Pos="0 0 -1.5"/>
+    <Pivot Pos="0 0 1.5"/>
+  </Pivots>
+  <GridSnap HStep="8" VStep="2"/>
+  <Levitation VStep="2" GhostMode="true"/>
+  <PivotSnap Distance="0"/>
+  <Options OneAxisRotation="true" ManualPivotSwitch="true"/>
+</Item>
+
+

Then adapt it to your situation, according to the following explanations:

+
    +
  • Item tag is mandatory
  • +
  • attributes:
      +
    • Type is mandatory and should not be changed ("StaticObject")
    • +
    • Collection is mandatory and should not be changed ("Stadium")
    • +
    • AuthorName should be changed to the name you want to be called in the Trackmania creative community :)
    • +
    +
  • +
  • sub-tags:
      +
    • MeshParamsLink tag is mandatory
    • +
    • attribute:
        +
      • File: Facultative. The relative path of the .MeshParams.xml next to the .fbx file. If omitted, the .MeshParams.xml will be expected to have the same name as current .Item.xml file and to be located in a sub-folder "Mesh".
      • +
      +
    • +
    • Waypoint tag is facultative. Use it only if you are making an item which is a special waypoint of the map, like a checkpoint or a finish line.
    • +
    • attribute:
        +
      • Type: mandatory. Must be one of the following: "Start", "Checkpoint", "Finish", "StartFinish" ("StartFinish" is used for multilaps).
      • +
      • Note: this is not enough to make a valid waypoint item. See section How to make a waypoint item for more information.
      • +
      +
    • +
    • Pivots tag is facultative. See section Pivots and placement parameters for more information.
    • +
    • sub-tags:
        +
      • Pivot: put one Pivot tag for each pivot you want to add to your item.
      • +
      • attribute:
          +
        • Pos: Position of the pivot, in the base of your mesh. (0,0,0) would be the same origin as in the fbx file.
        • +
        +
      • +
      +
    • +
    • GridSnap tag is facultative
    • +
    • attributes:
        +
      • HStep: Facultative. A positive real value in meters (0 by default). See Grid Horizontal Size in section Pivots and placement parameters for more information
      • +
      • VStep: Facultative. A positive real value in meters (0 by default). See Grid Vertical Size in section Pivots and placement parameters for more information
      • +
      +
    • +
    • Levitation tag is facultative
    • +
    • attributes: +
    • +
    • PivotSnap tag is facultative
    • +
    • attribute:
        +
      • Distance: Mandatory. A positive real value in meters, or the special value -1 (-1 by default). See Pivot Snap Distance in section Pivots and placement parameters for more information
      • +
      +
    • +
    • Options tag is facultative
    • +
    • attributes:
        +
      • NotOnItem: Facultative. A boolean value: "true" or "false" ("false" by default). See Not On Object in section Pivots and placement parameters for more information.
      • +
      • OneAxisRotation: Facultative. A boolean value: "true" or "false" ("false" by default). See Yaw Only in section Pivots and placement parameters for more information.
      • +
      • ManualPivotSwitch: Facultative. A boolean value: "true" or "false" ("false" by default). See Switch pivot manually in section Pivots and placement parameters for more information.
      • +
      • AutoRotation: Facultative. A boolean value: "true" or "false" ("false" by default). See Auto Rotation in section Pivots and placement parameters for more information.
      • +
      +
    • +
    +
  • +
+

You should get something like this:

+
<Item Type="StaticObject" Collection="Stadium" AuthorName="NadeoSamples">
+  <MeshParamsLink/>
+  <GridSnap HStep="8"/>
+  <Options OneAxisRotation="true"/>
+</Item>
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/create/nadeo-importer/06-how-to-add-an-icon-to-my-item/index.html b/create/nadeo-importer/06-how-to-add-an-icon-to-my-item/index.html new file mode 100644 index 0000000..4aea8c9 --- /dev/null +++ b/create/nadeo-importer/06-how-to-add-an-icon-to-my-item/index.html @@ -0,0 +1,2217 @@ + + + + + + + + + + + + + + + + + + + + + + How to add an icon to my item - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

How to add an icon to my Item

+

Image file requirements

+

If you want to see an icon for your item in the Map Editor, you need to provide an icon file:

+
    +
  • +

    The icon must be a .tga file (mandatory)

    +
  • +
  • +

    The icon should have a resolution of 64x64 pixels (recommended)

    +
  • +
+

You can create .tga files with a lot of bitmap image edition softwares, such as Gimp.

+

The resolution can be different than 64x64, but NadeoImporter will automatically transform it to a 64x64 image, embedded in the .Item.Gbx file.

+ +

Unlike the reference to the .MeshParams.xml in the .Item.xml, or the reference to the .fbx in the .MeshParams.xml, the reference to the icon cannot be explicit, it is always implicit:

+
    +
  • +

    The icon must have the same base name as the .Item.xml file (but the extension must be .tga)

    +
  • +
  • +

    The icon must be placed in a sub-folder called "Icon".

    +
  • +
+

For instance:

+
+

If you are trying to make an item from {Trackmania_user_dir}\Work\Items\Samples\StaticObjects\Slope_Icon.Item.xml

+

then the program will look for this file: {Trackmania_user_dir}\Work\Items\Samples\StaticObjects\Icon\Slope_Icon.tga

+
+

If the file is not provided, the item will not have any icon in the Map Editor.

+

About file size

+

The icon will increase the size of the .Item.Gbx file by 16 Ko.

+

But when someone saves a map containing instances of your item, it will be embedded in the .Map.Gbx file without its icon, to save some memory (as the size of embeddable items is limited in .Map.Gbx files).

+

For example, if an item with an icon has a size of 20 Ko, it will only cost approximately 4 Ko in the .Map.Gbx file (even less than that, because embedded items are compressed).

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/create/nadeo-importer/07-how-to-make-a-waypoint-item/index.html b/create/nadeo-importer/07-how-to-make-a-waypoint-item/index.html new file mode 100644 index 0000000..843ef02 --- /dev/null +++ b/create/nadeo-importer/07-how-to-make-a-waypoint-item/index.html @@ -0,0 +1,2123 @@ + + + + + + + + + + + + + + + + + + + + + + How to make a waypoint item - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

How to make a waypoint item

+

You can make items which will be considered by the game as "waypoints": a start line, a checkpoint, a finish line or a multi-lap start-finish line.

+
    +
  1. +

    First you must add the Waypoint tag in the .Item.xml file, with the correct Type attribute ("Start", "Checkpoint", "Finish", "StartFinish"). See section How to create the Item xml file for more information.

    +
  2. +
  3. +

    Wether your item is a "Start", "Checkpoint", "Finish" or "StartFinish" waypoint, the .fbx file must contain exactly one object called _socket_start. The location of this object is all that matters (its faces are ignored): it will determine the position of the car when we spawn or respawn on this waypoint.

    +
  4. +
  5. +

    If your item is a "Checkpoint", "Finish" or "StartFinish" waypoint, then the .fbx file must contain at least one object with prefix _trigger_. These objects will not be visible but the game will detect when the car goes through its faces and trigger the checkpoint / finish event when it happens.

    +
  6. +
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/create/nadeo-importer/08-pivots-and-placement-parameters/index.html b/create/nadeo-importer/08-pivots-and-placement-parameters/index.html new file mode 100644 index 0000000..ea6f549 --- /dev/null +++ b/create/nadeo-importer/08-pivots-and-placement-parameters/index.html @@ -0,0 +1,2284 @@ + + + + + + + + + + + + + + + + + + + + + + Pivots and placement parameters - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Pivots and placement parameters

+

Items made with NadeoImporter can be placed in maps with the Advanced Map Editor, in Item mode.

+

This article explains the influence of pivots and placement parameters on how the item is placed in the map.

+

You can set pivots and placement parameters in the .Item.xml file: see section How to create the Item xml file for more information.

+

Pivots

+

When you place an item in the map, the mouse cursor is aiming at a particular point in the map. But how should the item be placed compared to this point? If your item is a cube, should the editor place the item so that the cursor point is at the center of the cube ? Or the center of the bottom face? Or one corner of the cube?

+

Pivots are here to answer that question: a pivot is a point of the item that will coincide with the point of the map that is aimed by the cursor.

+

An item can have multiple pivots. In that case, the Map Editor might choose automatically one pivot according to the context, or you might be able to press the Q key (A with azerty keyboards) to cycle through the pivots of the current item: see the placement parameter Switch pivot manually for more information.

+

If an item has no pivot, the Map Editor will consider that it has one pivot at the coordinate (0,0,0).

+

Pivots can also be used as magnets to help align items when you place them on each other: see Pivot Snap Distance for more information.

+

Placement parameters

+

These are advanced parameters to help mappers place the item in the map.

+

They are numerous and sometimes a bit difficult to understand. Just leave the default values, unless you have a specific need for your item.

+

Three of them are far more useful than all the others: Fly Step, Grid Horizontal Size and Ghost mode. You can read the explanations of these three and ignore all the others!

+

Main placement parameters

+
    +
  • +

    Fly Step: If 0, the item will always be placed "on something": on the ground, on a wall, on another item, etc. whatever is aimed by the cursor. If greater than 0, the item can fly above the ground: each time you scroll with the mouse wheel (or press the PgUp/PgDown keys), the item will be offseted vertically by this step (in meters).

    +
  • +
  • +

    Grid Horizontal Size: If greater than 0, the item will be snapped to the intersections of an invisible horizontal grid, and the distance between the parallel lines of this grid will be this Grid Horizontal Size (in meters). If 0, there will be no horizontal snapping, you can place the item exactly where you want (but it will be difficult to align several items or align items with blocks).

    +
  • +
  • +

    Ghost mode: If activated, the item will never be placed "on anything", it will completely ignore surrounding blocks and items, going through them if necessary.

    +
  • +
+

Advanced placement parameters

+
    +
  • +

    Switch pivot manually: If activated, the only way to change the pivot to use will be the Q key (A with azerty keyboard). If deactivated, the Map Editor will automatically change the pivot according to the direction of the surface you are aiming with the cursor (for example it may select the lowest pivot if you are aiming at the floor, and the highest pivot if you are aiming at a ceiling). If the editor selects several pivot candidates, you can cycle through them with the Q key (A with azerty keyboard).

    +
  • +
  • +

    Fly Offset: Offsets vertically the invisible horizontal planes on which the cursor moves when it is in the air. For example, if the Fly Step parameter is 4 meters and the the Fly Offset is 0 meter, when you scroll with the mouse wheel, the cursor will move to the coordinates y = 0, 4, 8, 12, 16... m. But if you set the Fly Offset to 1 meter, then the cursor will be placed at y = 1, 5, 9, 13, 17... m. This parameter has no effect if Fly Step is 0.

    +
  • +
  • +

    Grid Horizontal Offset: It is recommended to leave this parameter to 0, unless you really know what you are doing. It offsets the horizontal grid by this amount of meters, in both horizontal axis (x and z). The only value that might be useful sometimes would be half of Grid Horizontal Size, but even in that case it is probably a better idea to divide Grid Horizontal Size by 2 instead.

    +
  • +
  • +

    Grid Vertical Size: If greater than 0, the item will be snapped on the vertical axis, and the value is the step of this snapping in meters. In other words, it sets the snapping along the y axis, just as the Grid Horizontal Size sets the snapping along the x and z axis. The difference with Fly Step is subtle: unlike Fly Step, Grid Vertical Size does not enable the item to fly. For instance, it can be used for an item which is meant to be placed on walls, to limit the available heights and then make it easy to align them. But if your item's Fly Step and Grid Vertical Size are both greater than 0, it is recommended to set the same value on both parameters.

    +
  • +
  • +

    Grid Vertical Offset: No effect if Grid Vertical Size equals 0. Otherwise, it offsets the available heights by this value in meters. For example, if Grid Vertical Size is 8 and Grid Vertical Offset is 2, the available heights are y = 2, 10, 18, 26, 34... m. If the item's Fly Offset is different from zero, it is recommended to put the same value in Grid Vertical Offset.

    +
  • +
  • +

    Yaw Only: If activated, the item can be rotated around the vertical axis only (y), by 90° with the right mouse button, or by 15° with the Numpad+ or Numpad- keys. If deactivated, it can also be rotated in other directions using the arrow keys.

    +
  • +
  • +

    Not On Object: If activated, the item cannot be placed on another item, it can only be placed on blocks (or in the air, if Fly Step is greater than 0). It is recommended to leave it deactivated.

    +
  • +
  • +

    Auto Rotation: If activated, the Map Editor will try to automatically rotate the item you are about to place according to the direction of the surface you are aiming at with the mouse pointer. It can be useful for items which are supposed to stay perpendicular to the ground for example. Note: this will not work if there is any grid snapping, so both Grid Horizontal Size and Grid Vertical Size must be set to 0.

    +
  • +
  • +

    Pivot Snap Distance: When you are about to place a new item on another item (in other words the mouse pointer is aiming at an item already placed on the map), the editor might try to snap the new item so that its current pivot would be placed exactly at the same spot as one of the pivots of the other item, as if the pivots of the already placed item were magnets that attract the pivot of the new item. If you do not want this feature for your item, set the value to 0. Otherwise, choose a positive value which will be the distance of this attraction (in meters), or use the special value -1 to let the editor choose an automatic distance.

    +
  • +
+

About Free ground item and Free item modes

+

When you are already in Item mode in the Map Editor, you can activate the "Free ground item mode" or "Free item mode" by clicking several times on the tree-shaped Item mode icon (the shape of the item mode icon changes).

+

In these modes, all the placement parameters of the current item are ignored and replaced by some default parameters with tiny Grid Horizontal Size.

+

The difference between "Free ground item mode" and "Free item mode" is that "Free item mode" also has a tiny Fly Step (instead of 0) and Ghost Mode.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/create/nadeo-importer/09-about-mesh-shape-and-mat-gbx-files/index.html b/create/nadeo-importer/09-about-mesh-shape-and-mat-gbx-files/index.html new file mode 100644 index 0000000..1e5bf47 --- /dev/null +++ b/create/nadeo-importer/09-about-mesh-shape-and-mat-gbx-files/index.html @@ -0,0 +1,2189 @@ + + + + + + + + + + + + + + + + + + + + + + About Mesh, Shape and Mat Gbx files - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

About Mesh, Shape and Mat Gbx files

+

Those who have been using the old NadeoImporter from Maniaplanet might wonder what happened to .Mesh.Gbx, .Shape.Gbx and .Mat.Gbx files that .Item.Gbx used to depend on.

+

The short answer is: "forget about them". +NadeoImporter and in-game editors usually produce .Item.gbx files which have no external dependencies (which means if you want to give this item to a friend you can juste give them the .Item.Gbx file, there is no other file it depends on).

+

However it is still possible to make .Mesh.Gbx, .Shape.Gbx or .Mat.Gbx files, but for very specific purposes. If you are curious, see the details below.

+

Mesh and Shape files

+

You can create .Mesh.Gbx and .Shape.Gbx files with the following command line:

+
.\NadeoImporter Mesh {fbxSourceFileNameRelativeToWorkFolder}
+
+

For instance:

+
.\NadeoImporter Mesh Items\Samples\StaticObjects\Mesh\Slope_Base.fbx
+
+

But you cannot use those files to build a .Item.Gbx files (there are no more Phy and Vis tags in the .Item.xml, where there used to be an explicit link to .Mesh.Gbx and .Shape.Gbx files).

+

The only use of those files now is that you can import them in the Mesh Modeler (the in-game 3d mesh editor, that you can access through the Map Editor, by creating an item, and editing its mesh).

+

Mat Gbx files

+

.Mat.Gbx are "custom material" files, which usually depend on several .dds "texture" files.

+

It is still possible to create such files from the Mesh Modeler, but it is generally not recommended, because the Map Editor will refuse to embed into the .Map.Gbx file any item which depends on a .Mat.Gbx file.

+

If you save your map containing those items with custom materials anyway, you will still be able to open it in the Map Editor, but not anywhere else (not even in Local > Play a map).

+

So there is not much point to create "custom materials", but it might still be useful to shoot nice videos from the Media Tracker (that you can access from the Map Editor).

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/create/nadeo-importer/index.html b/create/nadeo-importer/index.html new file mode 100644 index 0000000..78635e0 --- /dev/null +++ b/create/nadeo-importer/index.html @@ -0,0 +1,2119 @@ + + + + + + + + + + + + + + + + + + + + + + What is the Nadeo Importer - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Nadeo importer

+

Nadeo Importer is a tool to generate items that can be placed in Trackmania maps.

+

It allows you to turn .fbx files (made with your favorite 3d software, such as Blender or 3ds Max) into .Item.Gbx files, which will be recognized and browsed by Trackmania Map Editor.

+
+

This version of Nadeo Importer is for the game Trackmania, released in 2020.

+

For the game ManiaPlanet, see https://doc.maniaplanet.com/nadeo-importer/getting-started.

+

Some differences with ManiaPlanet Nadeo Importer are discussed in section About Mesh Shape and Mat gbx files.

+
+

See section Download and install to get started.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/create/parallax-signs/index.html b/create/parallax-signs/index.html new file mode 100644 index 0000000..353f251 --- /dev/null +++ b/create/parallax-signs/index.html @@ -0,0 +1,2224 @@ + + + + + + + + + + + + + + + + + + + + + + How to make Parallax signs - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Parallax Signs

+

Parallax Signs are ZIP-files containing a couple of .dds files ("Direct Draw Surface") and a Skin.json file.

+

Create your DDS files

+

First you need a drawing program that allows you to draw your image in mutiple layers. Choose any you are comfortable with like Photoshop, gimp, paint.NET, Krita, etc..

+

Parallax signs come in 3 different formats: 1x1, 2x1, and 4x1. Make sure to choose the dimensions of your image to fit one of these formats. (e.g. 1024x256, 1024x512, 1024x1024).

+

Note: Parallax signs allow for a maximum of 8 layers.

+

Once you have drawn your image, export each layer into a separate .dds file. If your program doesn't support exporting to .dds, just export each layer as .png and convert those files to .dds via a png to dds conversion tool. Make sure to name your files in a way that you easily remember their order from foreground to background.

+

Create your Skin.json file

+

The Skin.json file is a simple text file. You can open and edit it with any text editor that can open .txt files (like Notepad). It looks something like this:

+
{
+    "ClassId": "Parallax",
+    "Layers" = [
+        {
+            Name = "Layer1.dds",
+            Depth= "50"
+        },
+        {
+            Name = "Layer2.dds",
+            Depth= "100"
+        },
+        {
+            Name = "Layer3.dds",
+            Depth= "500"
+        },
+        {
+            Name = "Layer4.dds",
+            Depth= "1000"
+        }
+    ]
+}
+
+

In this example Layer1.dds is the name of the file displayed in the foreground and Layer4.dds is the name of the file displayed all the way in the background. Additionally to the order each Layer gets a property Depth. This indicates how "far away" the layer is supposed to be. This is what will cause the parallax effect ingame.

+

Note: You can choose any Depth you like for every layer, even higher values for layers in the foreground and lower values for layers in the background.

+

Create and use the Parallax File

+

Once you have created both your .dds files and our Skin.json file, select all the files and put them into a .zip file. Depending on the format you chose for your parallax sign, save that zip file to one of these folders (if they don't exist, create them):

+
    +
  • Documents\Trackmania\Skins\Any\Advertisement1x1
  • +
  • Documents\Trackmania\Skins\Any\Advertisement2x1
  • +
  • Documents\Trackmania\Skins\Any\Advertisement4x1
  • +
+

Now start (or restart!) Trackmania, go into the map editor, place a sign and select the Skin Mode (F5). Click in the sign you placed and your parallax sign should be selectable from the menu.

+

Note: Selecting a sign or iamge from your local disc does NOT make it available to other players who download and play your map. In order to do that you need to upload your file somewhere (like dropbox, Google Drive, or ManiaCDN) and then create a locator file (.loc) for your parallax sign. (The locator file for MyParallax.zip must be named MyParallax.zip.loc and contains a single line with the url where the zip file can be downloaded from)

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/create/texture-mods/hosting/index.html b/create/texture-mods/hosting/index.html new file mode 100644 index 0000000..f0ca7cb --- /dev/null +++ b/create/texture-mods/hosting/index.html @@ -0,0 +1,2256 @@ + + + + + + + + + + + + + + + + + + + + + + Mod hosting guide - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Mod hosting guide

+

Once you're done in ModWork and you're happy with your changes, it's time to save your texture files as a proper mod.

+

Package your mod

+
    +
  1. Create a .zip file of your ModWork directory and place it in Trackmania\Skins\Stadium\Mod - create the folder if you don't have it yet.
  2. +
  3. Ensure the .zip contains this structure: \Image\imagetexturefiles.dds.
  4. +
+

Upload your mod

+

Because the player will need to download the mod on the fly, you need to upload it to a commonly accessible place.

+

Generally, you can host your mod anywhere you want as long as it's a direct link. Here are the most common choices:

+
    +
  1. Discord: All files uploaded to Discord are publicly accessible - so you can just upload the mod in a private server and copy the file link (make sure you don't accidentally copy the message link instead!). Discord comes with a file size limit of 8MB by default and up to 500MB for Nitro users.
  2. +
  3. ManiaCDN: This is a free hosting service for the Trackmania community. All uploads are manually approved, so your mod might not be available immediately. But it's a cool service, especially since it's free and supported by the community.
  4. +
  5. Github: Typically Github and other git hosts are meant for storing code and other technical assets, but you can also host generic files on there. Just make sure you can get a direct link to the file that's publicly accessible.
  6. +
  7. Dropbox, Google Drive and other cloud storage providers: These mostly work fine, but some of them might limit downloads after a certain number of accesses. If your mod gets used in a competition and only the first 1000 players are able to download it, that might be a problem.
  8. +
+

Reference your mod in your map

+

There's two ways to go about this. If you don't know which one you need, the direct link approach is probably fine.

+

Before you get started, make sure your link is really pointing at the .zip file.

+ +
    +
  1. Copy the direct link to your mod you uploaded earlier.
  2. +
  3. Hold CTRL when opening your map in Trackmania and paste the link in the URL input field.
  4. +
  5. Save your map.
  6. +
+

Locator file method

+
    +
  1. Create a new text file and paste the direct link to your mod into it.
  2. +
  3. Save it as YOURMODNAME.zip.loc and place it in Trackmania\Skins\Stadium\Mod.
  4. +
  5. Hold CTRL when opening your map in Trackmania and point to the mod you placed in Trackmania\Skins\Stadium\Mod. It should already be in the little green day/sunset/night window in Trackmania as an easy pick.
  6. +
  7. Save your map.
  8. +
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/create/texture-mods/mods/index.html b/create/texture-mods/mods/index.html new file mode 100644 index 0000000..bf40017 --- /dev/null +++ b/create/texture-mods/mods/index.html @@ -0,0 +1,2229 @@ + + + + + + + + + + + + + + + + + + + + + + Creating your own texture mods - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Introduction

+

Using texture mods, you can totally change the appearance of the game - basically it lets you create custom textures for existing and custom blocks and items.

+

The limit is your imagination (and maybe the download speed of the player).

+

Building Your Mod

+
    +
  1. To get started, you'll want to download the base game texture files (maintained by Zai). Extract these textures to a folder you can easily access and don't touch the files besides copying them; you can copy/paste the files you need later, keeping the originally extracted textures as they are.
  2. +
  3. ModWork is an easy and fast way to see your mod locally as you work. Its biggest pro is that you don't have to restart your game every time you author a new texture. Just save the texture and alt-tab back into the game for instant updates!
  4. +
  5. Trackmania textures are based on the PBR workflow. The way the textures are comprised is very common in other recent video games.
    +For Trackmania mods, texture formats are stored as .dds files - if you use Photoshop, the free tool NVIDIA Texture Tools Exporter is perfect for authoring .dds textures; it also automatically creates mipmaps! +Technically .png files are supported as well, but it's strongly recommended to stick to .dds - .png does not support mipmaps, which significantly improve how textures are shown/filtered at a distance.
    +To get started, drag the texture you want to edit from the ModWork folder into an image editor of your choice and do your magic. +Check out the Texture List for a quick reference of the different texture formats. +If you're looking for creative commons-licensed textures to use, check out this list of texture sites (compiled by BigthirstyTM).
  6. +
+

Folder Structure

+

In order for the mod to work properly, your textures need to be placed in the proper directories.

+
    +
  • 📁 ModName.zip: A zip folder named however you choose.
      +
    • 📁 Image: The majority of your textures go here.
    • +
    • 📁 Moods: Contains ambience textures, like the skybox.
    • +
    • Car Effects: Modified car textures sit directly in the zip, they don't have a subfolder.
    • +
    +
  • +
+

Applying And Hosting Your Mod

+

Mods are not contained in the maps they're associated with - instead the players will automatically try to download the mod when they open the map. To make sure it all goes smoothly, you'll want to make sure your mod is accessible and referenced correctly.

+

As a side note: Keep in mind players with slow connections may take a while to get the mod. If they're playing on a server, there's a chance they won't get the mod until they reload the map. So it's worth testing the map without the mod and making sure it's playable.

+

Once you're happy with your mod, check out the mod hosting guide to see how you can make it available for other players.

+

Troubleshooting

+

Texture mods can be a challenge - there's lots of things that can trip you up. +For answers to the most common questions, see the mods troubleshooting page.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/create/texture-mods/modwork/index.html b/create/texture-mods/modwork/index.html new file mode 100644 index 0000000..d7d3956 --- /dev/null +++ b/create/texture-mods/modwork/index.html @@ -0,0 +1,2120 @@ + + + + + + + + + + + + + + + + + + + + + + ModWork - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

ModWork

+

ModWork is an easy and fast way to see your mod locally as you work. +Its biggest pro is that you don't have to restart your game every time you change one of your textures. Just save the texture and alt-tab back into the game for instant updates!

+
    +
  1. Go to C:\Users\you\Documents\Trackmania\Skins\Stadium\ and create a folder called ModWork. In this folder create another folder called Image.
  2. +
  3. Any textures you want to mod now go into Trackmania\Skins\Stadium\ModWork\Image. Make sure you add the textures you want to edit to ModWork\Image before editing them.
  4. +
  5. Open the game and start editing the textures. If you want to add textures to the folder later you'll need to reload the map.
  6. +
+

The game checks (only) on map load what files are in ModWork and it checks the .dds compression if you use .dds files.

+

Note: If you add new image files to the ModWork folder or you change the .dds compression of an image, you need to reload the map.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/create/texture-mods/texture-list/index.html b/create/texture-mods/texture-list/index.html new file mode 100644 index 0000000..7d88435 --- /dev/null +++ b/create/texture-mods/texture-list/index.html @@ -0,0 +1,5253 @@ + + + + + + + + + + + + + + + + + + + + + + Texture list - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Texture List

+

This is a living document - if you see something inaccurate/missing, feel free to contribute.

+

Suffixes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SuffixFormatFiletypePurposeNotes
_DDiffuseDDS (BC1)
DDS (BC3 if transparent)
Base image/texture
_HDDS (BC1)HeightGrey (128,128,128) is level
Black (0,0,0) lowers elevations
White (255,255,255) raises elevation
_IIliumInsideColor
Colorization of things behind glass
Multiplication before applying glass layers
_LColor of lightbulbs/LEDsDisplaced by _H
_MDDS (BC1)Mask (black/white)Color is determined by DecalPaint_D
_NNormalDDS (BC5)Texture that stores a direction at each pixel
_O
_RRoughnessDDS (BC5)Roughness (matte/shiny)
Metallic
Can be kept as greyscale (BC1) if not used.
_T
_X2DDS (BC1)Large overlay for color valuesUpscaled texture for CustomMaterial projection
+

Hue Masks

+
    +
  • _HueMask
  • +
  • _HueMask2
  • +
  • _HueShiftMask
  • +
+

These textures determine what is tintable and what isn't - they use the RGB channels. +Red and Blue are kept black, Green follows these rules:

+
    +
  • White pixels determine what is colorable.
  • +
  • Black pixels determine what isn't.
  • +
  • Greyscale can be used to blend with the corresponding material's _D color.
  • +
+

📁 Image

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameUsed For_D_H_I_L_M_N_O_R_T_X2_HueShiftMask
Ad1x1Screen"Default" 1x1 Sign
Ad2x1Screen"Default" 2x1 Sign
Ad4x1Screen"Default" 4x1 Sign
AdScreenOff"Off" Sign
Chrono_D_H_I_L_N_R
ChronoCheckpoint_I
ChronoFinish_I
CustomBricks_D_N_R
CustomConcrete_D_N_R_X2
CustomDirt_D_N_R
CustomGrass_D_N_R
CustomIce_D_N_R
CustomMetal_D_N_R
CustomMetalPainted_D_N_R
CustomModColorize_D_N_R_HueShiftMask
CustomModDecal_D_N_R
CustomModOpaque_D_N_R
CustomModSelfIllum_D_H_I_L_N_R
CustomModTrans_D_N_R
CustomPlastic_D_N_R
CustomRock_D_N_R
CustomRockPxz_D_N_R
CustomRockPy_X2
CustomRoughWood_D_N_R
CustomSand_D_N_R
CustomSnow_D_N_R_X2
DecalCurbs_D_N_R
DecalLogo4x1_M
DecalLogo8x1_M
DecalMarks_D_N_R
DecalMarksItems_D_N_R
DecalMarksRamp_D_N_R
DecalMarksStart_D_N_R
DecalObstaclePusher_D_N_R
DecalObstacleTube_D_N_R
DecalObstacleTurnstile_N_R
DecalObstacleTurnstileLeft_D
DecalObstacleTurnstileRight_D
DecalPaint_D_N_R
DecalPaint2_D
DecalPlatform_D_N ^1^_R
DecalPlatformDirt_D
DecalPlatformGrass_D
DecalPlatformIce_D
DecalPlatformPlastic_D
DecalSpecial_N_R
DecalSpecialBoost_D
DecalSpecialBoost2_D
DecalSpecialCruise_D
DecalSpecialFragile_D
DecalSpecialNoBrake_D
DecalSpecialNoEngine_D
DecalSpecialNoSteering_D
DecalSpecialReset_D
DecalSpecialSlowMotion_D
DecalSpecialTurbo_D
DecalSpecialTurbo2_D
DecalSpecialTurboRoulette_D
DecalSponsor1x1BigA_D_N_R
DecalSponsor4x1A_M
DecalSponsor4x1B_M
DecalSponsor4x1C_M
DecalSponsor4x1D_M
DecoHill_D_N_R
DecoHill2_D
DecoHillDirt_D_N_R
DecoHillDirt2_D
DecoHillDirtPy_D_N_R
DecoHillIce_D_N_R
DecoHillIce2_D
DecoHillIcePy_D_N_R
DecoHillPy_D_N_R
DirtPy_D_N_R_X2
GlassWaterWall_N_O_R_T
Grass_D_N_R_X2
GrassFence_D
IceMarks_M_N_R
IcePy_N_R
ItemAd1x1ScreenSmall_I
ItemAd1x1ScreenSmallB_I
ItemAd1x1ScreenSmallC_I
ItemAd1x1ScreenSmallWrongWay_I
ItemBase_D_N_R
ItemBorder_D_N_R
ItemCactus_D_N_R
ItemCherryTreeBranch_D_N_R
ItemCherryTreePetals_D_N
ItemCypressBranch_D_N_R
ItemFallTreeBranch_D
ItemFallTreePetals_D_N
ItemFirBranch_D_N_R
ItemFirSnowBranch_D_N_R
ItemFlag_D_R
ItemInflatableFloor_D_N_R
ItemInflatableMat_D_N_R
ItemInflatableTube_D_N_R
ItemLamp_D_H_I_L_N_R
ItemLampB_I
ItemLampC_I
ItemObstacle_D ^2^_N_R
ItemObstacleLight_D_H_I ^2^_L_N_R
ItemObstaclePusher_D ^2^_N_R
ItemPalmTreeBark_D_N_R
ItemPalmTreeBranch_D_N_R
ItemPillar_D_N_R
ItemRamp_D_N_R
ItemRoadSign_D_N_R
ItemSpectator_D_N_R
ItemSpringTreeBranch_D_N_R
ItemSupportConnector_D_N_R
ItemSupportTube_D_N_R
ItemTrackBarrier_D ^3^_N_R
ItemTrackBarrierB_D ^3^
ItemTrackBarrierC_D ^3^
ItemTreeTrunk_D_N_R
LightCells_N_R
LightCells2_D_H_L_N_R
LightCells3_D_H_L_N_R
LightSpot_D_H_I_L_N_R
LightSpot2_D_H_L_N_R
OpenDirtBorders_D
OpenGrassBorders_D
OpenIceBorders_D
OpenTechBorders_D_N_R
PlatformGrass_D_N_R
PlatformIce_D_H
PlatformTech_D_N_R
Pylon_D_N_R
RaceAd6x1
RaceArch_D_H_L_N_R
RaceArchCheckpoint_I
RaceArchFinish_I
RaceScreenStart_I
RoadBump_D_N_R
RoadDirt_D_N_R
RoadIce_D_H
RoadTech_D_N_R
ScreenBack_D_N_R
ScreenPusher_D_H_I_L ^2^_N_R
SpecialFXBoost_I
SpecialFXBoost2_I
SpecialFXCruise_I
SpecialFXFragile_I
SpecialFXNoBrake_I
SpecialFXNoEngine_I
SpecialFXNoSteering_I
SpecialFXReset_I
SpecialFXSlowMotion_I
SpecialFXTurbo_I
SpecialFXTurbo2_I
SpecialFXTurboRoulette ^4^_I
SpecialSignBoost_I
SpecialSignBoost2_I
SpecialSignBoost2Down_I
SpecialSignBoostDown_I
SpecialSignCruise_I
SpecialSignFragile_I
SpecialSignNoBrake_I
SpecialSignNoEngine_I
SpecialSignNoSteering_I
SpecialSignOff_I
SpecialSignReset_I
SpecialSignSlowMotion_I
SpecialSignTurbo_I
SpecialSignTurbo2_I
SpecialSignTurboRoulette_I
Speedometer_D_I_N_R
Structure_D_N_R
Technics_D_N_R
TechnicsSpecials_D_N_R
TechnicsTrims_D_N_R
TrackBorders_D_H_I_L_N_R
TrackWall_D_N_R
TrackWallClips_D_N_R
TrackWallPxz_D_N_R
TrackWallPy_X2
Underwater_D_N_R
WarpGlass_D_N
Water_SxSySz
WaterBorders_D_N_R
WaterFog
Waterground_D_N_R
+

Notes:

+
    +
  • DecalPlatform has two _N textures, one DDS and one TGA.
  • +
  • Add a second suffix depending on type of obstacle:
      +
    • Pink: _DiscontinuousLevel0
    • +
    • Violet: _DiscontinuousLevel1
    • +
    • Indigo: _DiscontinuousLevel2
    • +
    • Yellow: _Level0
    • +
    • Orange: _Level1
    • +
    • Red: _Level2
    • +
    +
  • +
  • ItemTrackBarrier_D uses _HueMask. ItemTrackBarrierB_D and C_D use _HueMask2.
  • +
  • SpecialFXTurboRoulette_LightColor exists.
  • +
+ + +

Car Effects

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameUsed For
AirBubble_Medium
AirBubble_Small
AnimBoost_D
AnimBoost_Turbo_D
AnimBoost_Turbo2_D
AnimBoost_TurboRoulette2_D
AnimBoost_TurboRoulette3_D
AnimFire_D
AnimNitro_D
AsphaltMarks
AsphaltSmoke
CarLights
CommonCarDetails
CommonCarShadowProj
CommonCarWheelShadowProj
DirtGravels
DirtMarks
DirtSmoke
DirtSmokeHovering
GrassMarkGround
HeadLightsProj
IceMarks_A
IceMarks_N
IceMarks_RoughMetal
Sand
SandMarks
SandSmoke
SmokeWLightmap_D
SmokeWLightmap_LM
Snow
SnowMarks
SnowSmoke
Sparkle
StadiumCarIcon
StemFoamFxd
VehicleFXFlare
WaterSplash
WaterWake_N
WetWheelsMarks
WetWheelsMarks_RM
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/create/texture-mods/troubleshooting/index.html b/create/texture-mods/troubleshooting/index.html new file mode 100644 index 0000000..7004ce2 --- /dev/null +++ b/create/texture-mods/troubleshooting/index.html @@ -0,0 +1,2296 @@ + + + + + + + + + + + + + + + + + + + + + + Mod troubleshooting - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + + + + + +
+
+ + + + + + + +

Mod troubleshooting

+

Working with mods doesn't always give you obvious errors, and you might not understand why something isn't working. +This page has a few troubleshooting tips for common grievances while creating mods.

+

My final mod file is over 100MB! How do I size it down?

+

You can scale any texture as low and as high as you want. Most default textures can be saved as half their original resolution. Since using mods causes (mostly minimal) performance drops, it's good advice to not go beyond 2048x2048px as your maximum texture resolution. +Remember: Textures you didn't edit do not need to be in the mod file. The game will use default textures (and resolution) for textures that are not in the mod file.

+

My textures look full of artifacts or have strange colors after exporting

+

Make sure your R_ texture is set up properly. If the original texture uses Metallic at all, it's best to keep it as BC5 and edit the color channels accordingly.

+

I went back to my game after exporting but it didn't update the texture in-game

+

Place your car or go back into the editor camera and it should force the update.

+

My image editor is saying the file is already in use

+

Place your car or go back into the editor camera and export again.

+

I can't change the mood setting in-game anymore

+

Mods overwrite the mood setting. Go back to the menu and hold CTRL while picking your map. There you can change the mood and select the mod.

+

I want to convert an image to PBR textures, any way I can do that without professional editing software?

+

There are several tools and websites that you can use to transform pictures into PBR textures. +One you could use is Materialize. +Note: While these tools give decent results depending on the source image, it's nowhere near as accurate as a properly captured/created PBR texture. Feeding these tools an image will often result in approximations rather than true PBR textures, since they can't actually calculate depth or specular information from a simple picture. Essentially they're just filters.

+

I've seen people create snowy rocks, how do I do this with a mod?

+

CustomRock is broken up in two materials; one for top-down projection and one for side projection. It's a technique called Triplanar Projection Mapping. +The top projection is controlled by the CustomRock material. +The side projection is controlled by the CustomRock_pxz material. +You can also modify the color difference overlay using customrock_x2. +Essentially, if you modify the top projection CustomRock material into having a white texture, you get snowy rocks.

+

How can I pack my textures if I don't have an image editor that supports it?

+

The free tool Channel-packing can be used to pack textures together (think Metallic/Roughness, Alpha).

+

How do I use one of the official stadium-less map bases together with a mod?

+

You need to use the Decoration Unlocker Openplanet plugin. Simply install the plugin, hold CTRL and click the map to open the editor, and you'll get a popup where you can pick your mod without the stadium!

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/general/code-of-conduct/index.html b/general/code-of-conduct/index.html new file mode 100644 index 0000000..7e2df8c --- /dev/null +++ b/general/code-of-conduct/index.html @@ -0,0 +1,2292 @@ + + + + + + + + + + + + + + + + + + + + + + Code of Conduct - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Trackmania - Code of Conduct

+

This code of conduct is for Trackmania and game (the “Game”) and is supplemental to the Ubisoft Terms of Use, where applicable. Please refer to such terms for an in-depth breakdown of our conduct rules. Capitalized terms used in this Code of Conduct shall have the respective meanings specified in the Terms of Use.

+

RESPONSIBILITY

+

Ubisoft cannot be held responsible for the actions or comments made by Users in the various areas of the Game, forums, or other social media outlets. Ubisoft reserves the right to remove any and all content published by a User without prior warning or notification.

+

We strongly advise you not to give personal or Account information to anyone. This includes information that can be used to identify you (social security number, telephone number, physical address, etc.) or information that may be used to compromise your Account (personal email address, answers to your security questions, etc.).

+

Please note that a representative of Ubisoft will never ask you for your password.

+

CODE OF CONDUCT

+

When you play any of the Game, you must respect other Users and their user rights. The following points will be enforced by the Ubisoft staff:

+

Any suspected breach of the Code of Conduct or Terms of Use will lead to an investigation. +Ubisoft reserves the right to suspend, ban, or delete any User’s Account without prior warning or notice.

+

When using the services provided by Ubisoft, Users may not engage in or encourage any illegal behavior or communications concerning such.

+

Users will follow all instructions given to them by the Ubisoft staff. Non-compliance of the User regarding any request made by a Ubisoft employee will be considered a breach of the Code of Conduct, and may lead to Account suspension or revocation.

+

The User will respect the rules detailed in this Code of Conduct when using the services offered by Ubisoft and the Game. The following list of forbidden conduct gives examples of unacceptable behavior, but should not be considered exhaustive.

+

FORBIDDEN CONDUCT

+

The following actions are forbidden, and can lead to a disciplinary action in accordance with the Disciplinary Policy outlined below.

+

Harassing or bullying other players via verbal or written communications.

+

Any language or content deemed illegal, dangerous, threatening, abusive, obscene, vulgar, defamatory, hateful, racist, sexist, ethically offensive or constituting harassment.

+

Impersonation of any other player or Ubisoft employee.

+

Any conduct which interrupts the general flow of Gameplay in the Game client, forum, or any other Ubisoft medium.

+

Verbal or written abuse targeted toward a Ubisoft employee.

+

Use of macros.

+

Any attempt to edit, corrupt or change Games or server code. Any such behavior will result in the immediate cancellation of the Account, and may even give rise to personal liability and/or penal penalties.

+

Use of third-party hacking, cheating or botting clients.

+

The purchase of in Games benefits, including but not limited to “MMR boosting services” from unlicensed vendors, as well as the promotion of such services.

+

Use of alternate accounts in order to boost another account in matchmaking or in order to take multiple places in the leaderboards, this is known as "smurfing".

+

Exploitation of any new or known bug or glitch for personal gain is strictly forbidden and may result in character rollback, Account suspension or revocation.

+

USER NAMES

+

The following rules clarify the types of names that you may not use:

+

You may not use a name that is contrary to the Code of Conduct. This includes the use of names of a hateful, racist, defamatory, ethnically offensive, obscene, vulgar or sexually explicit nature, as well as any other offensive wording.

+

You may not use names that lead to the harassment or slander of other Users.

+

You may not use the name of any Ubisoft employee.

+

You may not use a name of a character, object or product covered by copyright or trademark.

+

You may not use a name from popular culture or the media.

+

You may not use a name with a religious or historical connotation.

+

You may not use a name linked to a terrorist organization or activity.

+

Ubisoft strictly reserves the right to use the names linked to the Game license.

+

You may not use a name that refers to an illness, medicine, drug or alcohol.

+

You may not use any name that breaks any of the aforementioned rules via the association of the first name and surname.

+

You may not use a name containing spelling mistakes or written in such a way as to break one of the aforementioned rules.

+

DISCIPLINARY POLICY

+

In the event of a Code of Conduct violation, disciplinary action will be taken. Depending on the seriousness of the violation, sanctions can range from a warning to a permanent ban.

+

Below are examples of behavior that could lead to your Account being banned from playing online or restricting your access in other ways from the Game:

+

Cheating / Modding / Hacking: Player is running a modified or otherwise unauthorized version of the Game client or a third party software which provides any sort of unfair advantage or causing detriment to other players’ experience.

+

Offensive Language or Behavior / Threats: Posting or publishing (public forums, private chats or VOIP) any language or content that is in violation of this Code of Conduct.

+

Harassment: Harassing or serious bullying other players via verbal or written communications in the in-Game chat, and outside the Game (public forum).

+

Advertising / Spamming: Disrupting the conversation flow for personal or commercial purposes with repeated posting of a similar nature.

+

Phishing / Scamming: Any attempt to fraud or mislead other players to gain personal or financial advantage, including but not limited to: personal information, credit cards etc.

+

DISPUTING ACCOUNT SANCTIONS

+

If you have a question or wish to dispute an Account sanction that you have incurred, please +send a request to Customer Support. Please be sure to include all relevant information. We will reply to your questions as promptly as possible.

+

ACCOUNT SECURITY

+

The User alone is responsible for the security of his/her Account, including protecting his/her system and Account from being compromised.

+

PLEASE RESPECT THE CODE OF CONDUCT

+

Help us make this site, the Game and the forums a welcoming community space. Respect the Code of Conduct and encourage others to do the same. If you meet users who are not familiar with the Code of Conduct, politely encourage them to read it.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/general/crossplay-and-crossprogression/index.html b/general/crossplay-and-crossprogression/index.html new file mode 100644 index 0000000..fefda24 --- /dev/null +++ b/general/crossplay-and-crossprogression/index.html @@ -0,0 +1,2194 @@ + + + + + + + + + + + + + + + + + + + + + + Crossplay & Crossprogression - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Crossplay and Cross-progression

+

Trackmania (2020) is available on multiple different platforms, all of which can play with each other.

+

This is achieved via your Ubisoft account, which you need to use to log in on all platforms.

+

Crossplay

+

By default, you can encounter players from all other platforms on map leaderboards, servers and game modes (unless the specific platform does not support a given feature in general - e.g. dedicated servers on consoles).

+

That means map and campaign leaderboards are generally not separated by platform and are instead global.

+

If you'd like to disable that, you can uncheck the Cross Platform Play setting in the System settings menu.

+

Cross-progression

+

It's possible to play Trackmania (2020) on different platforms using the same Ubisoft account - by doing that, you keep most of your account's progression in sync and don't have to start from scratch.

+

Here's a non-exhaustive list of things that are covered by Trackmania's cross-progression:

+
    +
  • trophies and account statistics
  • +
  • uploaded map records
  • +
  • uploaded maps
  • +
  • favorited maps
  • +
  • club memberships
  • +
  • your selected custom skin, club tag and pinned club
  • +
+

Some features of the game are however restricted to the platform they're being used on:

+
    +
  • locally saved (but not uploaded) maps
  • +
  • locally saved (but not uploaded) skins
  • +
  • replay files
  • +
+
+

Author: tooInfinite

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/general/differences-between-the-accesses/index.html b/general/differences-between-the-accesses/index.html new file mode 100644 index 0000000..59f103d --- /dev/null +++ b/general/differences-between-the-accesses/index.html @@ -0,0 +1,2115 @@ + + + + + + + + + + + + + + + + + + + + + + Differences between the accesses - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Differences between the accesses

+

Trackmania (2020) has two levels of access, Starter access for free, and Club access which offers the full Trackmania experience.

+

For a detailed list of all features sorted by the access level that unlocks them, see the official chart.

+
+

About expired subscriptions

+

All content that you pay for will still be available after your subscription runs out (that includes all the campaign and TOTD tracks during your subscription).

+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/general/how-to-report-player/index.html b/general/how-to-report-player/index.html new file mode 100644 index 0000000..1034c04 --- /dev/null +++ b/general/how-to-report-player/index.html @@ -0,0 +1,2242 @@ + + + + + + + + + + + + + + + + + + + + + + How to report a player? - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

How to report a player

+

All Trackmania players have to follow the official Trackmania Code of Conduct.

+

When encountering players in the game that you want to report for their in-game behavior or for cheating, you can do one of the following:

+
    +
  • Report them in-game.
  • +
  • Report them via the official Trackmania website.
  • +
  • Report them through the relevant Ubisoft support form.
  • +
+

See the sections below for detailed instructions.

+

All submitted cases will be referred to the people in charge at Nadeo - keep in mind however that you will not receive details as to which actions were taken, if any. +Please use these official channels only and do not use social media, DMs, the official TM Discord or any other place to report someone.

+

In-game reports

+

In-game, visit the player's profile (e.g. by clicking their name in a room's leaderboard and selecting their profile) and find the Report button on that screen.

+

Then just follow the on-screen instructions to send your report.

+

Reporting records

+

You can also report a player's record in-game (for example if it was cheated or is otherwise invalid).

+

Open the pause menu and select View records - you now have additional options when going through the leaderboard records on the left side of the screen. Having the record in question highlighted and pressing the mentioned button to get to the player's profile will give an additional Record option when using the Report button on the profile.

+

Trackmania website

+

Visit the official Trackmania website, log in and find the offending player. +If you're having trouble with that, you can search for them on trackmania.io first and use the Trackmania.com button on there to get to the right place.

+

On that page, find the Report button - it might be hidden in a dropdown menu. Follow the instructions there to send your report.

+

Note that using this website, you can also report individual maps and/or clubs - just find their page and click the Report button.

+

Ubisoft support

+

Head over to the official Ubisoft Support website. Make sure you're logged in, otherwise the site won't let you submit a report.

+
    +
  • Game: Trackmania
  • +
  • Platform: Your platform of choice
  • +
  • Category: Player Reports, Bans, and Sanctions
  • +
  • Sub-Category: Learn the Rules/Report a player
  • +
+

Using these settings, you'll also be able to attach screenshots and other files using the Attach documents option. +Note that selecting Report a player will initiate a live chat with a support agent, while Learn the Rules just requires you to send a report.

+
+

Author: tooInfinite

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/general/index.html b/general/index.html new file mode 100644 index 0000000..1a2f914 --- /dev/null +++ b/general/index.html @@ -0,0 +1,2141 @@ + + + + + + + + + + + + + + + + + + + + Home - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Trackmania documentation

+

This is a work in progress website.

+

Contribute

+

Feel free to contribute through the github project.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/img/02_01_play_previous_campaigns.webp b/img/02_01_play_previous_campaigns.webp new file mode 100644 index 0000000..4d89756 Binary files /dev/null and b/img/02_01_play_previous_campaigns.webp differ diff --git a/img/10_01_invite_friends.webp b/img/10_01_invite_friends.webp new file mode 100644 index 0000000..a664c5d Binary files /dev/null and b/img/10_01_invite_friends.webp differ diff --git a/img/12_01_arcade_program.webp b/img/12_01_arcade_program.webp new file mode 100644 index 0000000..0da6111 Binary files /dev/null and b/img/12_01_arcade_program.webp differ diff --git a/img/13_01_clubsMenu.webp b/img/13_01_clubsMenu.webp new file mode 100644 index 0000000..52dd87e Binary files /dev/null and b/img/13_01_clubsMenu.webp differ diff --git a/img/13_02_clubsSearch.webp b/img/13_02_clubsSearch.webp new file mode 100644 index 0000000..d213f75 Binary files /dev/null and b/img/13_02_clubsSearch.webp differ diff --git a/img/13_03_joinClub.webp b/img/13_03_joinClub.webp new file mode 100644 index 0000000..73fc6ee Binary files /dev/null and b/img/13_03_joinClub.webp differ diff --git a/img/14_01_CreateClub_Prompt.webp b/img/14_01_CreateClub_Prompt.webp new file mode 100644 index 0000000..b801a50 Binary files /dev/null and b/img/14_01_CreateClub_Prompt.webp differ diff --git a/img/14_02_ClubCreation_General.webp b/img/14_02_ClubCreation_General.webp new file mode 100644 index 0000000..ebd54ca Binary files /dev/null and b/img/14_02_ClubCreation_General.webp differ diff --git a/img/16_01_CreateActivityButton.webp b/img/16_01_CreateActivityButton.webp new file mode 100644 index 0000000..cce5abe Binary files /dev/null and b/img/16_01_CreateActivityButton.webp differ diff --git a/img/16_02_EnterAdminMode.webp b/img/16_02_EnterAdminMode.webp new file mode 100644 index 0000000..1b90b5c Binary files /dev/null and b/img/16_02_EnterAdminMode.webp differ diff --git a/img/17_01_CreateCampaign.webp b/img/17_01_CreateCampaign.webp new file mode 100644 index 0000000..f24c6ab Binary files /dev/null and b/img/17_01_CreateCampaign.webp differ diff --git a/img/17_02_MapBrowser.webp b/img/17_02_MapBrowser.webp new file mode 100644 index 0000000..a088869 Binary files /dev/null and b/img/17_02_MapBrowser.webp differ diff --git a/img/19_01_CreateSkinUploads.webp b/img/19_01_CreateSkinUploads.webp new file mode 100644 index 0000000..c687cd6 Binary files /dev/null and b/img/19_01_CreateSkinUploads.webp differ diff --git a/img/20_01_CreateTrackUploads.webp b/img/20_01_CreateTrackUploads.webp new file mode 100644 index 0000000..629efd0 Binary files /dev/null and b/img/20_01_CreateTrackUploads.webp differ diff --git a/img/21_01_CreateTrackReview.webp b/img/21_01_CreateTrackReview.webp new file mode 100644 index 0000000..47d9f6f Binary files /dev/null and b/img/21_01_CreateTrackReview.webp differ diff --git a/img/21_02_TrackReviewActivity.webp b/img/21_02_TrackReviewActivity.webp new file mode 100644 index 0000000..13abc71 Binary files /dev/null and b/img/21_02_TrackReviewActivity.webp differ diff --git a/img/22_01_CreateNewsActivity.webp b/img/22_01_CreateNewsActivity.webp new file mode 100644 index 0000000..752ae79 Binary files /dev/null and b/img/22_01_CreateNewsActivity.webp differ diff --git a/img/22_02_ViewNewsActivity.webp b/img/22_02_ViewNewsActivity.webp new file mode 100644 index 0000000..0d53873 Binary files /dev/null and b/img/22_02_ViewNewsActivity.webp differ diff --git a/img/24_01_CreateRankingsActivity.webp b/img/24_01_CreateRankingsActivity.webp new file mode 100644 index 0000000..0696ea1 Binary files /dev/null and b/img/24_01_CreateRankingsActivity.webp differ diff --git a/img/33_01_prestigeSkins.webp b/img/33_01_prestigeSkins.webp new file mode 100644 index 0000000..be5b997 Binary files /dev/null and b/img/33_01_prestigeSkins.webp differ diff --git a/img/competition-tool-bracket-example-no-quali.png b/img/competition-tool-bracket-example-no-quali.png new file mode 100644 index 0000000..24deb08 Binary files /dev/null and b/img/competition-tool-bracket-example-no-quali.png differ diff --git a/img/competition-tool-bracket-example-team.png b/img/competition-tool-bracket-example-team.png new file mode 100644 index 0000000..f77bcab Binary files /dev/null and b/img/competition-tool-bracket-example-team.png differ diff --git a/img/competition-tool-bracket-example.png b/img/competition-tool-bracket-example.png new file mode 100644 index 0000000..85d40b6 Binary files /dev/null and b/img/competition-tool-bracket-example.png differ diff --git a/img/competition-tool-commands.png b/img/competition-tool-commands.png new file mode 100644 index 0000000..409b5fd Binary files /dev/null and b/img/competition-tool-commands.png differ diff --git a/img/competition-tool-create-competition.png b/img/competition-tool-create-competition.png new file mode 100644 index 0000000..b9ef204 Binary files /dev/null and b/img/competition-tool-create-competition.png differ diff --git a/img/competition-tool-created-01.png b/img/competition-tool-created-01.png new file mode 100644 index 0000000..56f5cd1 Binary files /dev/null and b/img/competition-tool-created-01.png differ diff --git a/img/competition-tool-created-02.png b/img/competition-tool-created-02.png new file mode 100644 index 0000000..d960751 Binary files /dev/null and b/img/competition-tool-created-02.png differ diff --git a/img/competition-tool-map-selection.png b/img/competition-tool-map-selection.png new file mode 100644 index 0000000..0f9cc36 Binary files /dev/null and b/img/competition-tool-map-selection.png differ diff --git a/img/competition-tool-matches-add.png b/img/competition-tool-matches-add.png new file mode 100644 index 0000000..0e881a6 Binary files /dev/null and b/img/competition-tool-matches-add.png differ diff --git a/img/competition-tool-matches-list.png b/img/competition-tool-matches-list.png new file mode 100644 index 0000000..7ee801e Binary files /dev/null and b/img/competition-tool-matches-list.png differ diff --git a/img/competition-tool-matches.png b/img/competition-tool-matches.png new file mode 100644 index 0000000..dd6553e Binary files /dev/null and b/img/competition-tool-matches.png differ diff --git a/img/competition-tool-new-qualifier-01.png b/img/competition-tool-new-qualifier-01.png new file mode 100644 index 0000000..14acc9e Binary files /dev/null and b/img/competition-tool-new-qualifier-01.png differ diff --git a/img/competition-tool-new-qualifier-02.png b/img/competition-tool-new-qualifier-02.png new file mode 100644 index 0000000..b270a15 Binary files /dev/null and b/img/competition-tool-new-qualifier-02.png differ diff --git a/img/competition-tool-new-qualifier-03.png b/img/competition-tool-new-qualifier-03.png new file mode 100644 index 0000000..49163a4 Binary files /dev/null and b/img/competition-tool-new-qualifier-03.png differ diff --git a/img/competition-tool-new-round-01.png b/img/competition-tool-new-round-01.png new file mode 100644 index 0000000..cadf9e6 Binary files /dev/null and b/img/competition-tool-new-round-01.png differ diff --git a/img/competition-tool-new-round-02.png b/img/competition-tool-new-round-02.png new file mode 100644 index 0000000..accbfdb Binary files /dev/null and b/img/competition-tool-new-round-02.png differ diff --git a/img/competition-tool-new-round-03.png b/img/competition-tool-new-round-03.png new file mode 100644 index 0000000..24090e0 Binary files /dev/null and b/img/competition-tool-new-round-03.png differ diff --git a/img/competition-tool-new-round-04.png b/img/competition-tool-new-round-04.png new file mode 100644 index 0000000..cfa6af0 Binary files /dev/null and b/img/competition-tool-new-round-04.png differ diff --git a/img/competition-tool-participants-list.png b/img/competition-tool-participants-list.png new file mode 100644 index 0000000..4f9dc2d Binary files /dev/null and b/img/competition-tool-participants-list.png differ diff --git a/img/competition-tool-pickban-example.png b/img/competition-tool-pickban-example.png new file mode 100644 index 0000000..f7d0d84 Binary files /dev/null and b/img/competition-tool-pickban-example.png differ diff --git a/img/competition-tool-registration.png b/img/competition-tool-registration.png new file mode 100644 index 0000000..3b9aa18 Binary files /dev/null and b/img/competition-tool-registration.png differ diff --git a/img/competition-tool-rounds-list.png b/img/competition-tool-rounds-list.png new file mode 100644 index 0000000..0e45306 Binary files /dev/null and b/img/competition-tool-rounds-list.png differ diff --git a/img/competition-tool-spectators.png b/img/competition-tool-spectators.png new file mode 100644 index 0000000..8ed5999 Binary files /dev/null and b/img/competition-tool-spectators.png differ diff --git a/img/competition-tool-structure-editor.png b/img/competition-tool-structure-editor.png new file mode 100644 index 0000000..82ded54 Binary files /dev/null and b/img/competition-tool-structure-editor.png differ diff --git a/img/competition-tool-structure-importer.png b/img/competition-tool-structure-importer.png new file mode 100644 index 0000000..b986fea Binary files /dev/null and b/img/competition-tool-structure-importer.png differ diff --git a/img/competition-tool-structure-show.png b/img/competition-tool-structure-show.png new file mode 100644 index 0000000..8b7cc1d Binary files /dev/null and b/img/competition-tool-structure-show.png differ diff --git a/img/competition-tool-structure.png b/img/competition-tool-structure.png new file mode 100644 index 0000000..63e8575 Binary files /dev/null and b/img/competition-tool-structure.png differ diff --git a/img/competition-tool-teams-list.png b/img/competition-tool-teams-list.png new file mode 100644 index 0000000..49cb04c Binary files /dev/null and b/img/competition-tool-teams-list.png differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..b931444 --- /dev/null +++ b/index.html @@ -0,0 +1,2073 @@ + + + + + + + + + + + + + + + + + + Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Trackmania documentation

+

Welcome to the Trackmania documentation! Discover the different features and tools of the game sorted in different categories available in the top menu.

+

Contribute

+

Feel free to contribute through the github project.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/play/how-to-play-cotd/index.html b/play/how-to-play-cotd/index.html new file mode 100644 index 0000000..122eac5 --- /dev/null +++ b/play/how-to-play-cotd/index.html @@ -0,0 +1,2458 @@ + + + + + + + + + + + + + + + + + + + + + + How to play Cup Of The Day? - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + + + + + +
+
+ + + + + + + +

How to play Cup of the Day?

+
+

Paid access required

+

This feature requires an active Standard Access or Club Access subscription.

+
+

What is the Cup of the Day?

+

Cup of the Day is a daily competition that is being played in the Knockout game mode on the current Track Of The Day. +COTD happens three times a day, once at 19:00 CE(S)T, at the same time as the new Track of the Day releases, and then again at 03:00 CE(S)T and 11:00 CE(S)T.

+

To participate in the Cup of the Day, you need to play on the Track Of The Day Arcade Room by the time it starts.

+

Qualification phase

+

Once it is time, the server will automatically switch to the Cup of the Day Qualification phase, in which you have ten minutes to finish the map initially and then five additional minutes to improve your time. +If you do not manage to finish the map within those initial ten minutes, you will not qualify for Cup of the Day's Knockout phase.

+

Once the Qualification phase is over, your best time driven in those 15 minutes will determine your Qualification rank and you will be placed in a division of similarly skilled players (max. 64 players per division).

+

The higher your Qualification rank, the more trophies you earn.

+

Knockout phase

+

After the Qualification phase and a short waiting period, you will be automatically connected to your division's match server. Once all players in your division are ready (or the warmup timer expires, whichever comes first), the Knockout match will start.

+

Knockout format explained

+

In Trackmania's Knockout format, players all start a round at the same time and the players either finishing in the last positions or not finishing at all will be knocked out. +The first round of each Knockout match is a warm-up round and nobody will face elimination. +The last player to be remaining after all other players have been knocked out will be crowned the winner of their division.

+ + + + + + + + + + + + + + + + + + + + + +
Players remainingKOs per round
17 to 64 players4
9 to 16 players2
2 to 8 players1
+

Trophies earned from playing Cup of the Day

+

During the Cup of the Day, you will have two occasions to earn trophies: during the Qualification phase, and during the Knockout phase. For the Qualification phase it is simple: the higher you are placed, the bigger your reward will be.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Time Attack RankTrophies receivedValue
Top 11x Trophy 6100,000
Top 29x Trophy 590,000
Top 37x Trophy 570,000
Top 105x Trophy 550,000
Top 503x Trophy 530,000
Top 1001x Trophy 510,000
Top 2509x Trophy 49,000
Top 5006x Trophy 46,000
Top 10003x Trophy 43,000
Top 25001x Trophy 41,000
Top 10000+1x Trophy 3100
+

For the Knockout mode, it will depend of two factors: the level of your server, and your rank in the server. The level of your server depends of your rank in the Qualification phase. If you finish the Qualification phase in the Top 64, you will be place in the Server Type 1 of the Knockout mode. If you finish in the Top 10% in Time Attack, then you will be placed in a Server Type 2, and so on…

+

The table below summarizes the type of server you will find yourself in, and the trophies you can claim.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Knockout Mode ServerType 1 (Top 64)Server Type 2 (Top 10%)Server Type 3 (Top 25%)Server Type 4 (Top 50%)Server Type 5 (Top 100%)
Top 11x Trophy 76x Trophy 63x Trophy 67x Trophy 54x Trophy 5
Top 28x Trophy 65x Trophy 62x Trophy 66x Trophy 53x Trophy 5
Top 37x Trophy 64x Trophy 61x Trophy 65x Trophy 52x Trophy 5
Top 86x Trophy 63x Trophy 67x Trophy 54x Trophy 51x Trophy 5
Top 322x Trophy 69x Trophy 53x Trophy 59x Trophy 46x Trophy 4
Top 641x Trophy 66x Trophy 51x Trophy 56x Trophy 43x Trophy 4
+

Frequently Asked Questions

+

The corners of my screen are blinking red, help?

+

This is a warning that you're currently facing elimination in case your position does not change until the end of the round.

+

I have been knocked out, what next?

+

First of all, don't be upset! +Getting knocked out in Cup Of The Day happens even to the best players most of the time. You can now either choose to leave the server or you may spectate the rest of your division's match until a winner has been crowned.

+
+

Author: Chris92

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/play/how-to-play-ranked-3v3-friends/index.html b/play/how-to-play-ranked-3v3-friends/index.html new file mode 100644 index 0000000..bdd70ec --- /dev/null +++ b/play/how-to-play-ranked-3v3-friends/index.html @@ -0,0 +1,2199 @@ + + + + + + + + + + + + + + + + + + + + + + How to play Ranked 3v3 with my friends? - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

How to play Ranked 3v3 with my friends?

+

To invite your friends to your 3v3 matchmaking session, head on over to the lobby screen that can be found under Play -> Live -> Ranked.

+

In the top left corner, you will have the option to either invite your friends or accept one of their invites.

+

Ranked lobby on PlayStation +Depending on the platform you play on, the invite options might look a little bit different. Pictured is the Lobby screen from the Playstation version of Trackmania.

+

Communication with your party/team members

+

Trackmania features voice chat for communicating with your party and team mates in Ranked 3v3 matchmaking. +By default, Voice Chat is enabled and set to voice activation. +You can adjust the settings in the Main Menu -> Settings -> Sound or while you're playing in the Pause menu -> Advanced -> Settings. +A push-to-talk hotkey can be set in Settings -> Inputs. +You can also disable Voice Chat in case you do not feel like communicating with others or are in a call on an external platform.

+

Cross-platform play

+

In case you haven't disabled crossplay, you will be able to play with your friends no matter what platform they play on - your party could consist of a player on Playstation, a player on Xbox and a player on Luna or even on PC!

+

Queueing for a match

+

Once your party is setup and ready to go, everyone in your party needs to press the Play button located in the bottom right of the screen. One thing to keep in mind though, to ensure fair matches, the maximum amount of gap in rating points between the best and the worst player in your party must not exceed 1000 points - the game will remind you of this in case you ever forget.

+
+

Author: Chris92

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/play/index.html b/play/index.html new file mode 100644 index 0000000..422abe5 --- /dev/null +++ b/play/index.html @@ -0,0 +1,2158 @@ + + + + + + + + + + + + + + + + + + + + + + Help expand this section - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Trackmania documentation

+

This is a work in progress website.

+

Contribute

+

Feel free to contribute through the github project.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/play/play-previous-campaigns/index.html b/play/play-previous-campaigns/index.html new file mode 100644 index 0000000..e8cf99e --- /dev/null +++ b/play/play-previous-campaigns/index.html @@ -0,0 +1,2165 @@ + + + + + + + + + + + + + + + + + + + + + + Play previous campaigns - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

How can I play previous seasonal campaigns?

+
+

Paid access required

+

This feature requires an active or expired Standard Access or Club Access subscription.

+
+

Explanation

+

To play previous seasonal campaigns, head on over to the Play -> Solo menu and in the top left you will find a button that, by clicking it, lets you cycle through the previous seasonal campaigns. Leaderboards on previous campaign are closed by default, meaning you cannot earn trophies for your position in them anymore. +Previous Campaign in the Play->Solo menu

+

In case you previously had Standard Access or Club Access, only the current seasonal campaign and all campaigns released by the time your subscription ran out will be available for you to play.

+
+

Author: Chris92

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/play/royal-mappool/index.html b/play/royal-mappool/index.html new file mode 100644 index 0000000..8d56406 --- /dev/null +++ b/play/royal-mappool/index.html @@ -0,0 +1,2114 @@ + + + + + + + + + + + + + + + + + + + + + + The Royal Map Pool - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Royal Map Pool

+

The tracks, that are in the current Royal and Super Royal map pool can be found on the official Trackmania website.

+

At the bottom of that page, you can also find a link to a history with a calendar interface which shows when a specific map was added to map pool.

+

New tracks will be added to the Royal map pool every week on Mondays, Wednesdays and Saturdays at 20:00 Central European (Summer) Time.

+
+

Author: Chris92

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/play/vip-keys/index.html b/play/vip-keys/index.html new file mode 100644 index 0000000..680a900 --- /dev/null +++ b/play/vip-keys/index.html @@ -0,0 +1,2593 @@ + + + + + + + + + + + + + + + + + + + + + + VIP Keys - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

VIP keys

+

VIP keys can be used to get access to a variety of content creators' and professional players' ghosts on any map or leaderboard in the game.

+

You can activate any number of them, and you'll be able to use them in parallel, no matter your access level.

+

Activating a VIP key

+

Navigate to the Settings page and find Activate a key in the Profile tab. Then enter your key and confirm the activation.

+

In-game, you can find the VIPs in the leaderboard widget on the left of the screen - just tab through the categories until you see Global VIPs.

+

List of public keys

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Player nameTwitchVIP key
AmaterasuTMhttps://www.twitch.tv/amaterasutm76JK-6E6M-JRFN-K9GB-XGG4
BagheraJoneshttps://www.twitch.tv/bagherajonesA4F5-6K8K-PX69-M9RH-WN59
BirdieTMhttps://www.twitch.tv/birdietmECRT-6NAY-W54C-AFNG-D9CG
Bren_TM2https://www.twitch.tv/bren_tm2WCF8-35YX-RFNN-PJ4F-47XP
CarlJRtmhttps://www.twitch.tv/carljrtmYTK7-T8NE-58BG-6G6H-RTNN
Chromahttps://www.twitch.tv/chromaJJAR-3DF3-JC4N-JPM5-FRY5
Ciremyxxhttps://www.twitch.tv/ciremyxxWYDR-4MF3-XFRX-RTN6-5JAK
Cosmos24https://www.twitch.tv/cosmos24tmXC3Y-434J-THP7-PHY3-NHFH
DamDamhttps://www.twitch.tv/damdamliveX698-M4H3-86A6-3PHF-XHCN
daregennhttps://www.twitch.tv/daregennFDAP-NBGA-R769-AJA5-ACTH
DontCarehttps://www.twitch.tv/dontcare_tmH53C-8XFK-5346-5A7K-XPNX
Downhttps://www.twitch.tv/ar_downTXDT-BTK4-87NR-X38X-JTDB
eLconnhttps://www.twitch.tv/elconn21AN8W-PBXA-KNR9-WRN8-DHAH
erizelhttps://www.twitch.tv/erizelK4J3-AMNR-HMYF-599P-R5J3
Esszzhttps://www.twitch.tv/esszzWGB8-W6MP-EYHD-RTKG-FTWT
Etoileshttps://www.twitch.tv/etoiles4BEX-93FT-R6KX-HCM5-873M
GranaDyhttps://www.twitch.tv/granadyyX5PN-3R6J-FFYE-XFM5-BNHF
h3llomarchttps://www.twitch.tv/h3llomarcME8F-KAW9-EDYP-63H8-4WY5
HuntedCasthttps://www.twitch.tv/huntedcast3W6X-93HG-H5XH-MG3F-EMJG
ItsAsh_btwhttps://www.twitch.tv/itsash_btw9APF-DXPX-G95C-5WJ5-HPHM
Ivycombhttps://www.twitch.tv/ivycombC7KC-NNYA-5RWT-EEDP-8CFK
Jean-Renéhttps://www.twitch.tv/jean__reneWWWM-PA9J-D8PM-FFMR-P5D5
Jnichttps://www.twitch.tv/jnicG93C-FEBG-WAGX-3R6H-N8N6
jojomakinghttps://www.twitch.tv/JojomakingWTTN-R4RK-FWAP-A8Y9-DW4P
Jxlianohttps://www.twitch.tv/Jxliano768K-35NN-XJTG-C43E-BNHC
Karlberghttps://www.twitch.tv/karlberg99YH-KN8B-6FF3-84G5-W9RW
kebyhttps://www.twitch.tv/kebyCYYE-RHM5-FBW6-EYHN-RFYK
Kennystreamhttps://www.twitch.tv/kennystreamEC9N-BAA7-NMN8-A6NT-W86K
lauranbkhttps://www.twitch.tv/lauranbkW98G-Y9T8-EYK8-6WNM-H7B4
LeachyLivehttps://www.twitch.tv/leachylive7JWR-96M5-HAWG-5E8E-6N8E
Legion2khttps://www.twitch.tv/Legion2k5E33-K4W5-G8KC-HW5N-3KD5
Lentillionhttps://www.twitch.tv/lentillionNPNX-4RCP-EJKY-FKGX-XMHR
LIRIKhttps://www.twitch.tv/lirikRGNM-84BG-NMAT-7B6H-8N6M
lowkeycuteboyhttps://www.twitch.tv/lowkeycuteboyRKAP-6KPE-EP6R-WT88-P3F7
luckersturbohttps://www.twitch.tv/luckersturboD47G-Y6FF-EYPB-4E4Y-43DK
lupo0999https://www.twitch.tv/lupo0999TCN9-R4BC-BTWY-G756-K3P3
Majijejhttps://www.twitch.tv/majijejX394-F99F-GT3G-8DPW-HWKX
marty_volehttps://www.twitch.tv/marty_voleYHWG-354D-9983-XGGR-YCXH
Massahttps://www.twitch.tv/massaYMX7-MAER-AA8B-MDWD-G476
MCYCShadowhttps://www.twitch.tv/mcycshadowT64M-KMPR-X436-8RJ9-GRP7
Micka_tmhttps://www.twitch.tv/micka_tm7AN6-TKGY-9BDB-8A9W-J6FN
Mime_https://www.twitch.tv/mime_H37C-XX5A-AB5M-6XG9-XN4N
Mudda_tmhttps://www.twitch.tv/mudda_tmH4TX-PK9Y-7A5G-78JH-C9WK
neon1990https://www.twitch.tv/neon_19907E8Y-5R45-NRR4-A3J6-6BFN
nevermindhttps://www.twitch.tv/nevermind_tmCEEW-C4HE-4J9W-988A-NY99
Ninadorehttps://www.twitch.tv/ninadoreKJRW-67GB-EM7A-PGYN-A8DJ
Nixoticahttps://www.twitch.tv/nixoticaFTRM-4DEH-NGB4-RC4X-H5RT
NoNjENshttps://www.twitch.tv/NoNjENsTRBB-DYTN-RA38-WD33-DAG9
Pac_tmhttps://www.twitch.tv/pac_tm4WT4-A79J-K6DB-97M5-RCW4
Pantouflhttps://www.twitch.tv/pantouflX78N-WGY9-X3CG-GYRN-HHYB
Queen_Clownhttps://www.twitch.tv/queen_clown33BF-KXGG-D6PJ-RGTE-C9CF
Racehanshttps://www.twitch.tv/racehansN3R8-7M65-C7NX-9XHP-A7BT
Raziihttps://www.twitch.tv/raziiF5BK-BAE3-6BBY-PA38-YJY7
resir014https://www.twitch.tv/resir014XXAP-E3BG-9754-KJ99-Y7W5
s314kehttps://www.twitch.tv/s314keRE5H-HAJ5-DDBM-XP8E-WYCC
SamZimhttps://www.twitch.tv/samzim9A85-9JBH-XMDT-C3TX-3KGM
Sardochehttps://www.twitch.tv/sardocheNJPX-5TKC-AK9H-XJ45-RK6B
SashoStoichkovhttps://www.twitch.tv/sashostoichkovAD8J-H8CM-K7F4-MKRR-HMKG
sbvillehttps://www.twitch.tv/sbvilleAA4D-GKT8-X7BB-8TD3-7ED8
Scarzorhttps://www.twitch.tv/scarzor9MBB-AABC-Y553-RH6A-TFD9
Scrapiehttps://www.twitch.tv/scrapie45PK-X97A-BKCB-FMT4-6TKD
sh0rtyhttps://www.twitch.tv/sh0rtydeE9TF-BBYY-PFYE-FCR7-WEH4
Shcrhttps://www.twitch.tv/shcrtmRTMH-YP39-G7GT-34X8-3DJ8
snippenhttps://www.twitch.tv/snippen3P8Y-GCNW-DK4Y-7ENY-D8PE
Sophie_icehttps://www.twitch.tv/sophie_ice_tm4PKY-FF5C-A685-9HF7-RXHA
Spammiejhttps://www.twitch.tv/spammiejK7MY-C34N-EEGY-PKT5-JJ7K
Speedselfhttps://www.twitch.tv/speedselfTY6M-RYBB-YPKG-BT76-W8YA
Tarporhttps://www.twitch.tv/tarporC7CR-WEB9-D464-JKRM-YNKD
Tataunahttps://www.twitch.tv/tataunaEKDH-WHK8-NM9R-88HB-9GXY
Tekkyhttps://www.twitch.tv/tekkytm7BRA-9FHN-CKXY-NC37-5TX4
Tr1xhttps://www.twitch.tv/tr1x_tm7M5B-NJM3-GKNH-RHRM-XCEA
Trilluxehttps://www.twitch.tv/trilluxe9GEG-CTGF-64TP-DFJT-XPMB
UnanimousIndecisionhttps://www.twitch.tv/unanimousindecisionF3JW-WR3F-37DT-RHFH-876P
Vaelynhttps://www.twitch.tv/vaelyn3RAE-5D7B-X3TT-H859-P8G4
VerySqueakyDoorhttps://www.twitch.tv/verysqueakydoorEPWD-P8WN-5KNC-R6KW-ABXA
Wakzhttps://www.twitch.tv/wakzlolRN4B-WBT8-NWB4-9TWT-KDR7
wingobearhttps://www.twitch.tv/wingobear3RT8-4NYH-EAB5-PEF3-W9GF
Wirtualhttps://www.twitch.tv/wirtualWTKX-RXFM-ETP5-DCYR-T59N
xEmlanxhttps://www.twitch.tv/xEmlanx7R9J-MA6R-3FXW-GXN4-RMH5
Yannexhttps://www.twitch.tv/yannexADMB-AM8D-JERR-D9AG-4BG6
ZeratoRhttps://www.twitch.tv/zeratorTG4N-E3GE-3G8A-EFT4-9GMM
+
+

Author: tooInfinite

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/play/watch-replays/index.html b/play/watch-replays/index.html new file mode 100644 index 0000000..8d5a662 --- /dev/null +++ b/play/watch-replays/index.html @@ -0,0 +1,2268 @@ + + + + + + + + + + + + + + + + + + + + + + Watching Replays - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Watching replays

+

Spectating and analyzing replays is a great way to learn techniques and racing lines. +Below, you can find a few ways to watch replays from a couple different sources.

+

World Record videos

+

Seasonal campaign world records are being uploaded to YouTube by the community, so you can watch them on the unofficial Trackmania (2020) WR channel.

+

VIP Keys

+

To get access to in-game ghosts for streamers and other VIPs, check out these instructions for VIP keys. This works for all access levels.

+

Leaderboard ghosts

+
+

Paid access required

+

This feature requires an active Club Access subscription.

+
+

The in-game leaderboard widget (Settings -> Interface -> Always display records) will show you a little 👁️ icon next to each record that you can use to load the ghost into your current session.

+

You can also spectate the ghost by selecting the player's name in the widget.

+

PC-exclusive features

+

Due to platform restrictions, some additional ways to watch replays are only available on the PC version of Trackmania.

+

Local replays

+
+

Paid access required

+

This feature require an active or expired Standard Access or Club Access subscription.

+
+
    +
  • You can watch your own local replays (as well as other players' replay files) by simply opening the Replay Editor in the Create section - it will let you open any replay stored in C:\Users\YourUser\Documents\Trackmania\Replays.
  • +
+

Leaderboard ghost files

+
+

Paid access required

+

This feature require an active or expired Standard Access or Club Access subscription.

+
+

To watch a specific record from the leaderboard (such as the world record), you can also go to trackmania.io, select the leaderboard and download the ghost file. See here for instructions on how to watch the ghost in-game.

+
+

Author: tooInfinite

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/play/what-are-arcade-channels/index.html b/play/what-are-arcade-channels/index.html new file mode 100644 index 0000000..e873358 --- /dev/null +++ b/play/what-are-arcade-channels/index.html @@ -0,0 +1,2206 @@ + + + + + + + + + + + + + + + + + + + + + + What are the Arcade Channels? - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+ +
+ + + +
+
+ + + + + + + +

What are the arcade channels?

+

Arcade channels, also known as arcade rooms, are online multiplayer servers that can feature a variety of game modes and user-generated tracks. +The most common game mode you'll see played on the channels is "Time Attack", a mode where the goal is to set the best time possible within a given timeframe. +You can find a curated list of arcade channels by navigating as follows from the main menu: Play -> Live -> Arcade

+

Experience a taste of the Arcade with Starter Access

+

Starter Access players have limited access to the Arcade. +They can either play on the Seasonal Campaign room or they can try their hands at the ever-changing Arcade Program, located in the top right in the Arcade menu. There, several different arcade programs are scheduled one hour at a time, ensuring variety and different styles of tracks. +An example of the Arcade Program schedule

+

Explore the vast variety of the Arcade

+
+

Paid access required

+

This feature requires an active or expired Standard Access or Club Access subscription.

+
+

The Arcade is a great place to find like-minded individuals playing their favorite style of tracks. +Whether you want to hunt daunting RPG tracks, just want to race across a Fullspeed track at 800+ speed or want to push Trackmania's physics to the limit with whacky LOL tracks, there truly is a Arcade room for everything. +What are you waiting for? Go dive in!

+

Hosting your own Arcade room

+
+

Paid access required

+

This feature requires an active Club Access subscription.

+
+

If you want to host your own Arcade room, we have prepared a guide here.

+
+

Author: Chris92

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/play/what-is-a-seasonal-campaign/index.html b/play/what-is-a-seasonal-campaign/index.html new file mode 100644 index 0000000..0e4cc75 --- /dev/null +++ b/play/what-is-a-seasonal-campaign/index.html @@ -0,0 +1,2487 @@ + + + + + + + + + + + + + + + + + + + + + + What is a Seasonal Campaign? - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

What is a seasonal campaign?

+

Seasonal Campaigns explained

+

Trackmania's seasonal campaigns consist of 25 maps of varying styles which are split into 5 increasing difficulties: White, Green, Blue, Red, and Black.

+

Seasonal campaigns run for 3 months after which the records leaderboards are closed and a winner is crowned, however new records can still be driven in the permanent, individual map records leaderboards.

+

Each campaign map has 4 medals you can earn: Bronze, Silver, Gold, and the coveted Author medal.

+

By earning medals on the campaign tracks, you can also unlock the seasonal campaign Prestige Skins and gain trophies for completing each section of the campaign.

+

At the end of a season, you will earn Trophy points based on your overall rank in the campaign. The winner of the entire campaign earns the rare Trophy 9 in-game as well as a physical trophy.

+

Trophy rewards

+

End of Campaign rewards

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Campaign RankTrophiesValue
Top 11x Trophy 9100,000,000
Top 28x Trophy 880,000,000
Top 34x Trophy 840,000,000
Top 103x Trophy 830,000,000
Top 10001x Trophy 71,000,000
Top 10k1x Trophy 6100,000
Top 100k1x Trophy 510,000
+

Medal Rewards

+
Rewards for Author Medals
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MedalTrophiesValue
All Maps5x Trophy 550,000
All Black Maps1x Trophy 510,000
All Red Maps1x Trophy 510,000
All Blue Maps1x Trophy 41,000
All Green Maps1x Trophy 41,000
All White Maps1x Trophy 41,000
+
Rewards for Gold Medals
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MedalTrophiesValue
All Black Maps1x Trophy 41,000
All Red Maps1x Trophy 41,000
All Blue Maps1x Trophy 3100
All Green Maps1x Trophy 3100
All White Maps1x Trophy 3100
+
Rewards for Silver Medals
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MedalTrophiesValue
All Black Maps1x Trophy 3100
All Red Maps1x Trophy 3100
All Blue Maps1x Trophy 210
All Green Maps1x Trophy 210
All White Maps1x Trophy 210
+
Rewards for Bronze Medals
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MedalTrophiesValue
All Black Maps1x Trophy 210
All Red Maps1x Trophy 210
All Blue Maps1x Trophy 11
All Green Maps1x Trophy 11
All White Maps1x Trophy 11
+
+

Author: Chris92

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/play/what-is-ranked-3v3/index.html b/play/what-is-ranked-3v3/index.html new file mode 100644 index 0000000..04b51e7 --- /dev/null +++ b/play/what-is-ranked-3v3/index.html @@ -0,0 +1,2334 @@ + + + + + + + + + + + + + + + + + + + + + + What is the Ranked 3v3 Gamemode? - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

What is the Ranked 3v3 gamemode?

+

Trackmania offers a skill-based Ranked matchmaking mode open to all players. +Matches are played in a tweaked version of the Teams gamemode, with a points limit of 5. +You can either queue solo or with up to two other players. Feedback from Tona: You can tell that voicechat is possible with your team mates

+

The Ranked 3v3 gamemode explained

+

When you queue up for a Ranked 3v3 match, you will be matched with and against players from similar matchmaking ranks. +After a 30 second warmup period once all players are connected, the match will start. +Every player starts at the same time and earns points for their team based on the position they finish. The team who gets the most points wins the round. +The scoring works as follows:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PositionPoints
1st6 points
2nd5 points
3rd4 points
4th3 points
5th2 points
6th1 point
DNF0 points
+

The minimum amount of points a team needs to win the round, should all players finish, is 11 points.

+

In case a player disconnects from the match, the scoring changes a bit. +Only the best two players from each team score points and in case of a draw in points, the team with the best time in the round wins.

+

Ranked map pool

+

Ranked 3v3 Matchmaking in Trackmania is played on the current Seasonal Campaign maps.

+

The map for your match will be randomly chosen out of the map pool based on the skill bracket of the lowest ranked player in the match.

+

The current map pool distribution is as follows:

+ + + + + + + + + + + + + + + + + + + + + + + + + +
Skill bracketMap pool
BronzeMaps 1 - 10
SilverMaps 1 - 15
GoldMaps 1 - 20
MasterMaps 1 - 25
+

Matchmaking rating

+

Once a team has won 5 rounds, the match ends and players will earn or lose rating points depending on the amount of points they earned for their team and whether their team won or lost.

+

In a regular match, where both teams are of equal skill, the point distribution is as follows:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Winning Team positionPoints gainedLosing Team positionPoints lost
1st+401st-20
2nd+302nd-30
3rd+203rd-40
+

The player who scored the most points in the entire match, no matter whether they are on the winning or losing side, is the Match MVP and earns bonus rating points. +The amount of bonus MVP points depends on the skill bracket the player is in and how evenly skilled the teams are. The values below assume evenly matched teams:

+ + + + + + + + + + + + + + + + + +
Skill bracketMVP bonus points
Bronze+80
Silver and above+40
+

At the end of a matchmaking season (which runs in parallel to the campaign seasons), matchmaking ranks and ratings will be soft-reset to prevent the ratings at the top from becoming stale. +See below for an example of how ranks might be adjusted.

+
+

Actual formula required

+

This section is not quite correct yet, the adjustments were less severe in the most recent Winter 2023 -> Spring 2023 transition.

+
+

Trackmaster + Master 3 -> 1600 points +Master 2 -> 1300 points +Master 1 -> 1150 points +Gold 3 -> 1000 points +Gold 2 -> 800 points +Gold 1 -> 600 points +Silver 3 -> 450 points +Silver 2 -> 300 points +Silver 1 + Bronze 3 & 2 -> 150 points +Bronze 1 -> 0 points +3 months inactivity -> 0 points

+
+

Author: Chris92

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/play/what-is-royal/index.html b/play/what-is-royal/index.html new file mode 100644 index 0000000..ba91718 --- /dev/null +++ b/play/what-is-royal/index.html @@ -0,0 +1,2177 @@ + + + + + + + + + + + + + + + + + + + + + + What is Royal? - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

What is Royal?

+

Royal is a team-based (maximum 3 players per team) knockout mode taking place on five maps. Four of the maps are randomly selected from a pool of 30 maps, and one of the maps will always be the latest map added to the map pool. You can view the current map pool here.

+

Maps

+

Royal maps are comprised of 5 sections, each with increasing difficulty. The colors indicate the difficulty in the same order as the seasonal campaigns (white, green, blue, red, black). Royal maps usually involve moving objects, tricks, and air and speed control.

+

3 new tracks are added to the map pool every week on Mondays, Wednesdays and Saturdays.

+

Gameplay

+

When the round starts, each team is placed on the white section of the track. If you or one of your teammates finishes the section you are on, your team will move onto the next section, unless you are on the black section. For the black section, it will keep looping every time your team finishes it. Every time a player finishes a section, regardless of color, one second of bonus time is added to your team with a maximum of 5 per player. Bonus time is used at the very end of the round, after the timer ends. The team that completes the most segments wins the round, and the teams that finish the least amount of sections get knocked out. The number of teams getting knocked out is dependent of the number of teams remaining. For most matches, it is 3 or 4 teams getting knocked out each round.

+
+

Author: Zai

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/play/what-is-totd/index.html b/play/what-is-totd/index.html new file mode 100644 index 0000000..16cb42c --- /dev/null +++ b/play/what-is-totd/index.html @@ -0,0 +1,2246 @@ + + + + + + + + + + + + + + + + + + + + + + What is a Track Of The Day? - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

What is a Track Of The Day?

+
+

Paid access required

+

This feature requires an active Standard Access or Club Access subscription.

+
+

Track of the Day, explained

+

Track Of The Day is a daily showcase of community created maps, curated by Ubisoft Nadeo. +A new Track Of The Day releases every day at 19:00 CE(S)T.

+

They're meant to highlight the following:

+
    +
  • Beautiful scenery
  • +
  • Creative routes
  • +
  • Unique, standout features in the map
  • +
  • Community projects and events
  • +
+

The Track of the Day features various different track styles and it is being featured in the daily Knockout tournament called Cup Of The Day. Each Track Of The Day also features a brand new records leaderboard where players have 24 hours to set the best time and be crowned the Track Of The Day winner.

+

How to get your map selected as Track of the Day

+

Map authors that want to have a chance at getting their map featured as Track Of The Day should make sure that their route is fully respawnable from every checkpoint, that the map doesn't feature unnecessarily difficult speed checks or other sections that might be too hard for Beginner and Intermediate players to complete consistently.Feedback from Tona: Track must be easy to understand for Beginner and Intermediate players with good sigage too

+

You can find the current Track Of The Day here.

+

Trophy rewards

+

When the leaderboard for a Track of the Day closes, you will earn Trophy points based on your final placement. Refer to the table below to see how many trophies you will earn.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Campaign RankTrophiesValue
Top 11x Trophy 71,000,000
Top 26x Trophy 6600,000
Top 34x Trophy 6400,000
Top 103x Trophy 6300,000
Top 1001x Trophy 6100,000
Top 10001x Trophy 510,000
+
+

Author: Chris92

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/search/search_index.json b/search/search_index.json new file mode 100644 index 0000000..cd07f4c --- /dev/null +++ b/search/search_index.json @@ -0,0 +1 @@ +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Trackmania documentation","text":"

Welcome to the Trackmania documentation! Discover the different features and tools of the game sorted in different categories available in the top menu.

"},{"location":"#contribute","title":"Contribute","text":"

Feel free to contribute through the github project.

"},{"location":"club/","title":"Trackmania documentation","text":"

This is a work in progress website.

"},{"location":"club/#contribute","title":"Contribute","text":"

Feel free to contribute through the github project.

"},{"location":"club/create-a-club/","title":"How to create a club?","text":"

Paid access required

This feature requires an active Club Access subscription.

To create a club, click on the Clubs option in the Main Menu and click on one of the two options as highlighted below.

Afterwards, follow the on-screen instructions to fill out the required information for your club.

"},{"location":"club/create-a-club/#general-club-settings","title":"General Club settings","text":"

Here you can choose the name, club tag and description for your club, as well as its privacy. All of these fields can be changed later as well.

The privacy has three possible options:

  • Public - Open to everyone: Everyone can join this club with no restrictions whatsoever. The most common option
  • Private - Accept requests: Players can apply to join your club, but will not be able to join without your or a club admin's approval.
  • Private: Nobody can join the club and nobody can apply to join the club either.
"},{"location":"club/create-a-club/#brandingstadium-settings","title":"Branding/Stadium settings","text":"

Custom Assets require PC version

To upload custom images to your club, you need to create/edit your club from the PC version of Trackmania.

Console and cloud versions are limited to a selection of default assets.

Here you can select/upload various branding related images for your club.

Templates for custom assets for both the Branding and Stadium related club customization options can be found here.

Author: Chris92

"},{"location":"club/create-manage-activity/","title":"Create and manage an activity","text":"

Club permissions

In order to create and manage activities for a club you must either have the Creator, Admin or Content Creator role for that club.

"},{"location":"club/create-manage-activity/#creating-an-activity","title":"Creating an activity","text":"

To create an activity in the club you need to press the '+' button to the right of \"Club Activities\".

After pressing the '+' button you will be presented with the following list of activities you can add to the club:

  • Campaign
  • Room
  • Skin uploads
  • Track uploads
  • Track Review
  • News
  • Competition
  • Rankings
"},{"location":"club/create-manage-activity/#managing-activities","title":"Managing activities","text":"

To manage activities you first need to enter the Administration menu for the club by selecting the button shown in the image below.

This will present you with two tabs. One contains the active activities of the club and the other one contains deactivated activities. Selecting one of the activities will show you a menu with the following options:

  • Move Allows you to rearrange the order of the activities.
  • Feature/Unfeature Marks the activity with a '\u2605' symbol to highlight a specific activity. (Note: Only one activity can be featured at a time.)
  • Edit Allows you to change the content of the selected activity.
  • Set Private/Public Allows you to open the activity up to the public or limit the access to the members of the club.
  • Activate/Deactivate Activities can be deactivated so they will not show up in the club page anymore and reactivated to make them show again.
  • Remove Removes an activity from the club permanently.

Author: Henkisme

"},{"location":"club/how-to-join/","title":"How to join a club?","text":"

Paid access required

This feature requires an active Club Access subscription.

Upon launching the game and finding yourself at the main menu, please navigate to the menu option labeled CLUBS and select this option.

After selecting the CLUBS option, you will be now be greeted with the Club Menu. This is the \"homepage\" for in-game clubs.

In the Club Menu, you will see a few different menu options and a scrollable list of in-game clubs. If you are able to find the club you wish to join by using the scrollable list provided, navigate to the club and then interact with the thumbnail. This will open the club page.

Alternatively, if you are unable to locate your club of choice, you can search for it directly by selecting this magnifying glass to open a search function. Here you can enter the name of the club you wish to search for.

Upon locating and entering the club page, you will see options for the club's different activities. In order to successfully join a club, you will need to navigate to and select the JOIN button at the top of the screen.

Note that some Clubs and Activities are private and will require acceptance from a Club Admin.

Author: XLRB

"},{"location":"club/activities/campaign/","title":"What is a Campaign?","text":"

A campaign is a collection of up to 25 tracks with it's own leaderboard.

"},{"location":"club/activities/campaign/#create-a-campaign","title":"Create a campaign","text":"

When you select the option to create a campaign the following menu will appear:

This menu has the following options: 1. Add a thumbnail for the campaign. 2. Change the name of the campaign. 3. Set the access for the campaign to public or members of the club only. 4. Add one or more maps to the campaign. 5. Finalize and publish the campaign.

"},{"location":"club/activities/campaign/#adding-maps","title":"Adding maps","text":"

Choosing to add maps to the campaign will open the Track Browser.

From here you can select maps from your My Tracks, Favorites, Official (maps from the official campaigns and track of the day) and Clubs (maps from campaigns of clubs you've joined).

Author: Henkisme

"},{"location":"club/activities/competition/","title":"What are Competitions?","text":"

Competition activities allow for the creation of ingame competitive events via the usage of the Competition Tool.

These activities cannot be created in the game and instead have to be created on the Competition Tool website.

For more help with the competition tool, please refer to the Competition Tool category of this documentation.

Author: Chris92

"},{"location":"club/activities/news/","title":"What are News?","text":"

The News activity can be used to share updates and information with your club.

"},{"location":"club/activities/news/#create-a-news-activity","title":"Create a news activity","text":"

When creating a News activity you will be presented with the following menu:

The two '+' buttons are used add images to the activity, the upper one will show on the main club page and the lower one will appear next to the news article. Both these images are optional.

The Name, Headline and Body texboxes must be filled in and will after publishing the activity to the club be presented in the following manner:

Author: Henkisme

"},{"location":"club/activities/rankings/","title":"What are Rankings?","text":"

The Rankings activity can be used to display a leaderboard of the club members on specific campaigns or tracks.

"},{"location":"club/activities/rankings/#create-a-rankings-activity","title":"Create a rankings activity","text":"

When creating a Rankings activity you will be presented with the following menu:

Here you can choose from the following:

  • Current Quarterly Campaign - The official Seasonal Campaign provided by Nadeo.
  • Daily Track - The current Track of the Day.
  • Select a Campaign - Any Campaign listed in the club.

After you have made your choice all that is needed now is a name and an optional image, after that the activity can be published.

Author: Henkisme

"},{"location":"club/activities/room/","title":"What is a Room?","text":"

Arcade channels, also known as arcade rooms , are online multiplayer servers that can feature a variety of game modes and user-generated tracks. The most common game mode you'll see played on the channels is \"Time Attack\", a mode where the goal is to set the best time possible within a given timeframe. You can find a curated list of arcade channels by navigating as follows from the main menu: Play -> Live -> Arcade

"},{"location":"club/activities/room/#create-a-room-activity","title":"Create a room activity","text":"

When you create a Room activity, you have the choice between three options.

  • Select A Campaign
  • Select Tracks
  • Use Your Dedicated Server

See below for the details of each of these options.

"},{"location":"club/activities/room/#select-a-campaign","title":"Select A Campaign","text":"

If you choose this option, you can easily create a multiplayer room for one of your existing club campaigns.

Simply select the campaign of your choosing and then you will be greeted with a screen where you can select several options which are explained in detail below.

"},{"location":"club/activities/room/#select-tracks","title":"Select Tracks","text":"

If you choose this option, you can easily create a multiplayer room with a selection of your favorite tracks.

Keep in mind, that there is an upper limit of 100 tracks per Arcade Room. After selecting your tracks, you will be greeted with a screen where you can select several options which are explained in detail below.

"},{"location":"club/activities/room/#use-your-dedicated-server-advanced","title":"Use Your Dedicated Server (Advanced)","text":"

If you choose this option, you can select a dedicated server login you want to use for this activity.

This option requires you to host a Trackmania server by yourself, but allows you to run custom game modes, connect external tools to the server via the XML-RPC interface, etc.

Dedicated servers are strictly PC only

Due to platform restrictions, Dedicated Servers can only be joined via the PC version of the Trackmania.

If you want to create a room that allows for cross-platform play, please use the \"Select A Campaign\" or \"Select Tracks\" options instead.

For an in-depth tutorial on how to setup a dedicated server, please refer to this guide.

"},{"location":"club/activities/room/#room-settings","title":"Room settings","text":"

The Room settings allows you to tweak and fine tune the multiplayer experience on your arcade room to your liking.

You can change the following:

  • Room name: This is how the room appears in your club and in the Arcade room list. (Maximum length: 20 characters)
  • Privacy: If the room is set to private, players must be a member of your club to be able to join the room.
  • Server location: You can choose between two locations: \"EU West\" and \"Canada Central\".
  • Max players per server: This allows you to change the maximum amount of players per server. (Range: 1-100)
  • Game mode: Choice between these modes: Time Attack, Rounds, Laps, Knockout, Cup, Teams.
  • Game mode settings: Allows you to fine tune the settings of the game mode, e.g. the Time Attack timelimit or the points needed for a team to win in Teams mode.
  • Scalable room: This allows the server to split if the player numbers are approaching the maximum amount of players.
  • Password: Once activated, players require a password to join the server. The password can be seen by Club Owners/Admins in the Room window after this option has been enabled.

Author: Chris92

"},{"location":"club/activities/skin-uploads/","title":"What are Skin Uploads?","text":"

Uploading only available on PC

Uploading Car Skins to the Skin Upload activity can only be done on the PC version of Trackmania.

The Skin Uploads activity can be used to share custom skins with either the public or members of the club.

"},{"location":"club/activities/skin-uploads/#create-a-skin-uploads-activity","title":"Create a skin uploads activity","text":"

Note: You will not be able to add skins yet when creating a skin uploads activity, to do this you have to interact with the activity on the club page after it is created.

To create a Skin Uploads activity the only thing that is required is a name for the activity, optionally you can also choose to add an image to the activity.

The '+' button is used to select an image for the activity, the name can be entered in the textbox. After choosing a name and an optional image you can punlish the activity to the club by selecting the \"Create\" Button.

"},{"location":"club/activities/skin-uploads/#uploading-skins","title":"Uploading skins","text":"

To add skins to the Skin Uploads activity simply select it from the homepage of the club and select the \"Upload Skin\" button. From here you can choose skins to upload located in Documents\\Trackmania\\Skins\\Models\\CarSport

Author: Henkisme

"},{"location":"club/activities/track-review/","title":"What is Track Review?","text":"

The Track Review activity can be used to collect and provide ratings and feedback on tracks.

This is different from the TOTD Map Review activity

The Track Review club activity does not put tracks into the pool for potential Track of the Day candidates, for more information see What Is Map Review.

"},{"location":"club/activities/track-review/#create-a-track-review-activity","title":"Create a track review activity","text":"

When creating a Track Review activity you will be presented with the following menu:

The '+' button is used to select an image for the activity, a name for the activity must be entered in the textbox.

  • Max Players: The maximum amount of players that can join a single map review server.
  • Time per Track (sec): The amount of time in seconds that will be spent playing each track.
  • Scalable Servers: If this setting is turned on another track review server will be created if when the maximum amount of players for a server is reached.
  • Allow Vote to Skip Track: If this setting is turned on players will be able to start a vote to skip to the next track.
  • Limit to 1 Track Upload per Hour: If this setting is turned on players will only be able to submit a track once per hour to the activity.

After you've applied the wanted settings you can punlish the activity to the club by selecting the \"Create\" Button.

"},{"location":"club/activities/track-review/#using-the-track-review-activity","title":"Using the track review activity","text":"
  • The administration button on the top right is only available to people with the Creator, Admin or Content Creator role for the club. Selecting this will take you to a page listing all submitted tracks and their ratings.
  • Review Other Tracks will take you to the review server to test and rate the tracks.
  • Submit Your Tracks will let you opload maps from your collection to the track review activity.
  • My Submitted Maps will take you to a page listing the ratings of only the tracks that you have submitted to the activity.

Author: Henkisme

"},{"location":"club/activities/track-uploads/","title":"What are Track Uploads?","text":"

The Track Uploads activity can be used to share tracks with either the public or members of the club.

"},{"location":"club/activities/track-uploads/#create-a-track-uploads-activity","title":"Create a track uploads activity","text":"

Note: You will not be able to add tracks yet when creating a track uploads activity, to do this you have to interact with the activity on the club page after it is created.

To create a Track Uploads activity the only thing that is required is a name for the activity, optionally you can also choose to add an image to the activity.

The '+' button is used to select an image for the activity, the name can be entered in the textbox. After choosing a name and an optional image you can punlish the activity to the club by selecting the \"Create\" Button.

"},{"location":"club/activities/track-uploads/#uploading-tracks","title":"Uploading tracks","text":"

To add tracks to the Track Uploads activity simply select it from the homepage of the club and select the \"Upload a Track\" button. From here you can choose one or more tracks from the Track Browser.

Author: Henkisme

"},{"location":"club/competition-tool/","title":"Competition tool","text":"

Club permissions

In order to create and manage Competitions for a club you must either have the Creator, Admin or Content Creator role for that club.

The Competition tool is provided for club administrators to create and manage Competition activities in Trackmania.

"},{"location":"club/competition-tool/#accessing-the-competition-tool","title":"Accessing the Competition tool","text":"

You can find the Competition tool on this link. You have to sign in with your Ubisoft account to access the Competition tool dashboard.

"},{"location":"club/competition-tool/plugin-settings/","title":"Competition plugin settings","text":"

Below is a reference of plugin settings available to use on the competition tool.

Be careful with value types

Each server setting has its specific type. If you input these values into the Round settings screen, it will be automatically converted to the selected type.

For example, if you would like to set a setting value to an empty string (\"\"), you need to leave the value field blank.

"},{"location":"club/competition-tool/plugin-settings/#ads","title":"Ads","text":"

Display a carousel of images.

Setting name Type Default value Description S_AdImageUrls String \"\" Urls separated by a pipe character (\\|).Add a value to enable the plugin."},{"location":"club/competition-tool/plugin-settings/#qualifier","title":"Qualifier","text":"

Settings used for qualifiers (round challenges).

Setting name Type Default value Description S_UsePlayListComplete Boolean False Complete the challenge when the map playlist is over for the first time (forbid playlist loop)."},{"location":"club/competition-tool/plugin-settings/#competition-whitelist","title":"Competition whitelist","text":"

Allow only the players registered to a competition to join a server.

Setting name Type Default value Description S_UseCompetitionWhitelistPlugin Boolean False Enable the plugin. S_CompetitionId String \"\" ID of the competition."},{"location":"club/competition-tool/plugin-settings/#match-management","title":"Match management","text":"

Automatically enabled for all matches.

Setting name Type Default value Description S_AutoStartMode String \"\" Possible values:- \"\": disabled - \"delay\": automatically start the match at start date + delay - \"light\": the match starts automatically right away after the server starts. S_AutoStartDelay Integer 600 Delay in seconds used by the \"delay\" mode. S_PickBanStartAuto Boolean False Automatically start a Pick & Ban phase 10 minutes before the match start. S_PickBanOrder String \"\" Sequence of string separated by a comma. Starting with \"p\" for pick or \"b\" for ban, followed by \":\" and a number representing team position, player position or \"r\" for random (e.g. \"b:1,b:0,p:0,p:1,p:r\").See more examples below. S_EnableReadyManager Boolean True Do not depends on players readiness to automatically start the match S_UseAutoReady Boolean False A connected player is automatically considered ready S_ReadyStartRatio Integer 1.0 Minimum value the ratio \u201cready players\u201d/\u201call players\u201d must reach to start the match S_ReadyMinimumTeamSize Integer 1 The minimum number of members a team needs to be considered ready S_DisableForceSpectatorOnComplete Boolean False Do not force all players in spectator mode when the match is over

Examples for Match autostart

Start the match when all players are ready for the match, with 10-minute delay tolerance:

S_AutoStartMode = delay\nS_AutoStartDelay = 600\n

Examples for S_PickBanOrder

Let's say Team A and Team B are participating in a match. Since Team A has the higher seed, they're listed first in the match participants list.

Our pick and ban order is as follows.

Lower\u00a0seed\u00a0ban -> Higher\u00a0seed\u00a0ban -> Higher\u00a0seed\u00a0pick -> Lower\u00a0seed\u00a0pick -> Lower\u00a0seed\u00a0pick -> Higher\u00a0seed\u00a0pick -> Higher\u00a0seed\u00a0ban -> Lower\u00a0seed\u00a0ban -> Random\u00a0pick

Since we already know that the higher seeded team is at position 0, and the lower seeded team is at position 1, we can set the S_PickBanOrder settings as follows:

b:1,b:0,p:0,p:1,p:1,p:0,b:0,b:1,p:r\n

The same can be done for solo competitions, where there can be more than 2 participants in a match.

b:3,b:2,b:1,b:0,p:0,p:1,p:2,p:3\n

The above setting can be read as follows: \"start the ban phase from the lower seed to higher seed, then run the pick phase in reverse\"

"},{"location":"club/competition-tool/plugin-settings/#message-timer","title":"Message timer","text":"

Send a message in the chat every 75 seconds.

Setting name Type Default value Description S_MessageTimer String \"\" The message to send. Add a value to enable the plugin."},{"location":"club/competition-tool/plugin-settings/#minimum-rank","title":"Minimum rank","text":"

Display a popup and UI in-game to inform the players about the minimum rank required to qualify for the next round.

Setting name Type Default value Description S_UsePlayerMinimumRankPlugin Boolean False Enable the plugin. S_MinimumRank String 0 The rank to reach to be qualified."},{"location":"club/competition-tool/plugin-settings/#time-limit","title":"Time limit","text":"

Limit the duration a player can stay on a server.

Setting name Type Default value Description S_UseTimeLimitPlugin Boolean False Enable the plugin. S_TimeLimitDuration Integer 300 The duration a player can stay on the server in seconds, based on the player's first connection to the server."},{"location":"club/competition-tool/plugin-settings/#trackmania-ui","title":"Trackmania UI","text":"Setting name Type Default value Description S_TrackmaniaUIProperties String \"\" The UI properties to hide. Add value to enable the plugin.

Example of a valid S_TrackmaniaUIProperties value

<ui_properties><round_scores visible='false'/></ui_properties>\n
"},{"location":"club/competition-tool/administration/","title":"Administration","text":"

This section contains guides on administrative actions for Competitions, such as adding players/spectators to a competition, match server management, among other things.

You can view a list of all competition you created, or that you're an admin of, on this page.

"},{"location":"club/competition-tool/administration/players-teams/","title":"Adding players & teams","text":"

As a competition administrator, you have the ability to add/remove players/teams.

"},{"location":"club/competition-tool/administration/players-teams/#adding-a-player","title":"Adding a player","text":"

Click on the \"Participants\" menu on the left sidebar and you will be redirected to this page.

This is where all the participants in your competitions are listed. You can add/remove players, manually set a seed, as well as automatically determining seeds for all players based on their skill level.

Click on \"Add participant\" to add a player. Then, insert the Account ID of the player, and the designated role. You can look up for a certain player's Account ID by going to trackmania.io and searching for their username.

"},{"location":"club/competition-tool/administration/players-teams/#adding-teams","title":"Adding teams","text":"

Since registrations are handled manually for Team events, you will have to manually add teams competing in your competition by yourself. Click the \"Teams\" menu on the left sidebar and you will be redirected to this page.

Click on \"Add team\" to add a team. Insert the name of the team, and a seed (if any).

Then, insert the Account ID of the player, and the designated role. You can look up for a certain player's Account ID by going to trackmania.io and searching for their username.

"},{"location":"club/competition-tool/administration/server-commands/","title":"Server commands","text":"

Below is a list of commands that are useful for general administration. Of course, you can always type /help in the server chat to see a list of all the commands available to you.

Warning

The list below is incomplete. Use /help in a match server to see all the available commands.

"},{"location":"club/competition-tool/administration/server-commands/#match-commands","title":"Match commands","text":"
  • /matchstart - Reset the track playlist and start the match.
  • /matchlightstart - Start the match in the current state.
  • /matchstatus - View the current match status.
  • /matchcancel - Cancel the ongoing match.
  • /forceplayers - Force everyone in the server as a player.
"},{"location":"club/competition-tool/administration/server-commands/#pick-ban-commands","title":"Pick & Ban commands","text":"
  • /pickban - Start the pick & ban phase.
  • /pickbanorder [order] - Force a specific pick/ban order on a match server. (e.g.\u00a0/pickbanorder b:0,b:1,p:0,p:1)
"},{"location":"club/competition-tool/administration/server-commands/#administrative-commands","title":"Administrative commands","text":"
  • /help - Shows a list of all commands. Use /help [commandname] (e.g. /help setmatchpoints) to read a usage guide on the requested command.
  • /pause - Skips any ongoing round and activates the pause procedure.
  • /unpause - Resumes the match.
  • /forceendround - Ends the ongoing round.
  • /forceendwarmup - Ends the ongound warmup.
  • /listmaps - Lists the maps played in the current match.
  • /forcespectator [username] - Forces a server member as a spectator.
  • /forceplayer [username] - Forces a server member as a player.
"},{"location":"club/competition-tool/administration/spectators/","title":"Adding spectators","text":"

Each match server in a competition is whitelisted so that only the players registered for a certain match can join said server.

However, sometimes you would like to add spectators to all matches in a competition, for example to allow casters and referees to spectate on a match. This section will explain how to add spectators to your competition.

To add spectators, click on \"Add spectator\". Then, insert the Account ID of the spectator, and the designated role. You can look up for a certain spectator's Account ID by going to trackmania.io and searching for their username.

"},{"location":"club/competition-tool/administration/spectators/#roles","title":"Roles","text":"
  • Standard: The most basic role which only gives spectator access to all the match servers.
  • Referee: This role gives a spectator additional access to match administration commands (e.g. pausing and unpausing).
  • Admin: This is the highest role of a spectator which gives access to all rounds and match administration commands.
"},{"location":"club/competition-tool/create-competition/","title":"Creating a competition","text":"

Club permissions

In order to create and manage Competitions for a club you must either have the Creator, Admin or Content Creator role for that club.

To create a Competition activity, you need to visit the Competition Tool website. To get started, log in to the Competition Tool using your Ubisoft account, and then click on \"Create Competition.\"

"},{"location":"club/competition-tool/create-competition/#basic-information","title":"Basic Information","text":"

When you click on \"Create Competition,\" you will be taken to a form where you can enter the basic information about your competition. This is the first step in the competition creation process.

The form will include the following fields:

  • Name: Enter the name of your competition in this field.
  • Club: A competition must be associated with a club. Use the dropdown list to select the club you want to link the competition to.
  • Description: This is an optional field. If you want, you can provide a description for your competition that will appear on the Event page in-game. This field supports Trackmania's custom text formatting.
  • Rules: If your competition has a rulebook, you can link to it in this field. If you include a rulebook, players will need to tick a checkbox indicating that they agree to the competition rules before they can register.

Club competitions and Events menu

To make your Competition visible through the Play > Live > Events menu by default, the Club linked to the competition must have a \"Verified\" status. You can request verification for your Club by visiting the Club's Admin page. To view a list of the clubs you own or are a member of, click on this link.

However, if the Club tied to the competition is not verified, you can still find the competition by using the search box and manually looking for the event.

"},{"location":"club/competition-tool/create-competition/#team-competitions","title":"Team competitions","text":"

To create a Team competition, you can tick the \"Competition with teams\" checkbox. This will set the upcoming steps of the competition creation process to accomodate Team competitions.

"},{"location":"club/competition-tool/create-competition/#registrations","title":"Registrations","text":"

On the next step, you will input regisration details, should you want to open registrations for your event. If you would like to manually register players into your event, uncheck the \"Enable registrations\" toggle switch and follow this guide to manually add players.

Registrations unavailable for Team competitions

Registrations are handled manually on Team competitions, as there is no in-game registration for Team competitions. You will have to manually add teams and players using the Teams menu.

To handle registrations for Team competitions, you can use third-party tools like Challonge or Toornament.

This section of the form includes the following fields:

  • Start date: Enter the date when registration starts in your local time.
  • End date: Enter the date when registration ends in your local time.
  • Maximum players registered: If your competition has an upper limit for number of players registered, change this option. If not, then leave this setting as it is.
  • Allowed zones: This is used to limit registrations of the competitions to certain regions (see examples below). List all the zone strings allowed to register for the event, separated by commas. Leaving it blank will open registrations to players around the world.

You can change registration times any time after your competition has been created.

Examples for allowed zones

To limit registration to the entire Asia and Oceania continent:

World|Asia, World|Oceania\n

To limit registrations to France, Belgium, Monaco, and Switzerland:

World|Europe|France, World|Europe|Belgium, World|Europe|Monaco, World|Europe|Switzerland\n
"},{"location":"club/competition-tool/create-competition/#whats-next","title":"What's next","text":"

In the next section, you will learn how to add qualifiers and rounds to your competition.

"},{"location":"club/competition-tool/create-competition/qualifier/","title":"Adding a qualifier","text":"

Info

Qualifier rounds are only available on Solo competitions.

A qualifier (also known as a round challenge) is the phase of a competition to determine the seeding of a player. The seeding will be determined based on the placements the players received during a qualifier.

This can be used to determine if a player will qualify to the bracket phase of a competition.

If your competition does not have a qualifier phase, you can skip this step.

"},{"location":"club/competition-tool/create-competition/qualifier/#create-a-qualifier","title":"Create a qualifier","text":"

In this section, we will create a qualifier using the manual structure editor in the competition tool. If you would like to use the structure importer, go to this page.

Click on \"Add qualifier\" and you will be redirected to this screen.

This is the first section of the Add qualifier screen. It contains the following fields:

  • Name: The name of your qualifier round.
  • Start date: Enter the date when qualifier starts in your local time.
  • End date: Enter the date when qualifier ends in your local time.
  • Leaderboard score: The scoring system used to determine placements during a qualifier. Click here to read about what the different scoring systems mean.
  • Script: The gamemode (script) used for the qualifier round. Only Time Attack is available for qualifier rounds.
  • Max players: The maximum amount of players available in a server. Around 30 minutes before the start of a qualifier, the system will automatically create servers based on the number of players registered compared to the number of max players in a server.

Important

You can alter all the dates & times after creation, including the rounds and registration times. However, please take note of the following limitations:

  • Any round has to have a start date that's later than the previous round's end date.
  • You also can't have two rounds running at the same time.
"},{"location":"club/competition-tool/create-competition/qualifier/#adding-maps","title":"Adding maps","text":"

The next section of the form will allow you to add maps for the qualifier round.

You can add maps in one of two ways:

  • Adding them from your in-game favourites
  • Manually adding map via a specific unique ID

Important

You can only select maps that have been uploaded to Nadeo's servers.

Uploading a map to Nadeo's servers will give it a unique ID, which you can look up by going to trackmania.io.

As always, you can add a map to your in-game favourites and add the map that way.

Maps will be played in the order which they were added. As always, you can change the order of a map playlist within the competition tool.

Tip

The map playlist will be automatically reset before the start of each round.

If you would like to add a \"waiting room\" map for a competition round, you can enter it as the first map on the playlist, then immediately remove it between when the servers were created and before the round starts.

"},{"location":"club/competition-tool/create-competition/qualifier/#settings","title":"Settings","text":"

The next section allows you to modify settings for the script (game mode) and the server plugin.

  • Script settings: Modify the settings for the Time Attack mode used for the qualifier.See here for a reference on all the available script settings.
  • Plugin settings: Modify the settings for the Competition management plugin.See here for a reference on all the available plugin settings.
"},{"location":"club/competition-tool/create-competition/qualifier/#leaderboard-score","title":"Leaderboard score","text":"

To determine placements for a qualifier, you can choose between multiple scoring systems.

"},{"location":"club/competition-tool/create-competition/qualifier/#skillpoints","title":"Skillpoints","text":"

This is the default and recommended scoring system, which utilises skill points. Skill points are given per map, and the total skill points from all qualifier maps will be used to determine placements. Higher skill points from will mean higher placement.

The following skill points are given based on the player's rank on any given map:

Position Points 1 40,000 points 2 28,000 points 3 24,000 points 4 20,000 points 5 18,000 points 6 16,000 points 7 14,000 points 8 12,000 points 9 10,000 points 10 10,000 points 11 8,000 points 12 8,000 points 13 6,000 points 14 6,000 points 15 4,000 points 16 4,000 points 17-100 (20,000 / rank + 1,800) points 101-1000 (100,000 / rank + 900) points 1001-10000 (500,000 / rank + 450) points 10001-100000 (2,500,000 / rank + 225) points

More examples

  • Rank 20: 2800 points
  • Rank 80: 2050 points
  • Rank 101: 1890 points
  • Rank 999: 1000 points
  • Rank 1,001: 949 points
  • Rank 9,999: 500 points
  • Rank 10,001: 474 points
  • Rank 100,000: 250 points
"},{"location":"club/competition-tool/create-competition/qualifier/#ranks","title":"Ranks","text":"

This scoring system uses the sum players' ranks from each map in the qualifier to determine the placements. Lower total ranks will mean higher placement.

"},{"location":"club/competition-tool/create-competition/qualifier/#times","title":"Times","text":"

This scoring system uses players' total times from each map in the qualifier to determine the placements.

"},{"location":"club/competition-tool/create-competition/rounds/","title":"Adding rounds","text":"

In this section, we will create a round using the manual structure editor in the competition tool. If you would like to use the structure importer, go to this page.

"},{"location":"club/competition-tool/create-competition/rounds/#create-a-round","title":"Create a round","text":"

If you just finished creating a qualifier from the previous section, you will be automatically redirected to the round creation screen. Otherwise, click on \"Add round\" and you will be redirected to this screen.

This is the first section of the Add round screen. It contains the following fields:

  • Name: The name of your round.
  • Start date: Enter the date when the round starts in your local time.
  • End date: Enter the date when the round ends in your local time.
  • Qualifier: If your round has a qualifier, select the qualifier round it's tied to.
  • Script: The gamemode (script) used for the round.
  • Max players: The maximum amount of players available in a server.
  • Max spectators: The maximum amount of spectators available in a server. Click here to learn more on how to add spectators.

Important

You can alter all the dates & times after creation, including the rounds and registration times. However, please take note of the following limitations:

  • Any round has to have a start date that's later than the previous round's end date.
  • You also can't have two rounds running at the same time.
"},{"location":"club/competition-tool/create-competition/rounds/#adding-maps","title":"Adding maps","text":"

The next section of the form will allow you to add maps for the round.

You can add maps in one of two ways:

  • Adding them from your in-game favourites
  • Manually adding map via a specific unique ID

Important

You can only select maps that have been uploaded to Nadeo's servers.

Uploading a map to Nadeo's servers will give it a unique ID, which you can look up by going to trackmania.io.

As always, you can add a map to your in-game favourites and add the map that way.

Maps will be played in the order which they were added. As always, you can change the order of a map playlist within the competition tool.

If your competition has a Pick & Ban phase, this will list all the maps available to pick/ban.

Tip

The map playlist will be automatically reset before the start of each round.

If you would like to add a \"waiting room\" map for a competition round, you can enter it as the first map on the playlist, then immediately remove it between when the servers were created and before the round starts.

"},{"location":"club/competition-tool/create-competition/rounds/#settings","title":"Settings","text":"

The next section allows you to modify settings for the script (game mode) and the server plugin.

  • Script settings: Modify the settings for the Time Attack mode used for the qualifier.See here for a reference on all the available script settings.
  • Plugin settings: Modify the settings for the Competition management plugin.See here for a reference on all the available plugin settings.
"},{"location":"club/competition-tool/create-competition/rounds/#adding-matches","title":"Adding matches","text":"

After creating your round, you will be redirected to the match creation screen. This will allow you to add matches for the round.

Click \"Add match\" to add a new match.

Here you can add participants for each match. They can come from different sources:

  • Results from a qualifier.
  • Results from a previous round match.
  • Registered participants with a seed. You will be able to set the seed for each participant from the Players page after creating the event.
  • Registered participants with a rank from this competition leaderboard

After adding a match, you can review the participants on each match by expanding/collapsing them.

Click \"Save\". You will then be able to review all your competition's rounds and their structure.

Once you're happy with how your rounds are structured, click \"Create\".

Congratulations, your competition is created!

"},{"location":"club/competition-tool/create-competition/rounds/#whats-next","title":"What's next","text":"
  • If you would like to learn about importing a preset structure for your competition, go to Structure importer.
  • Otherwise, click here to learn more about what you can do as a competition administrator.
"},{"location":"club/competition-tool/create-competition/structure-importer/","title":"Using the structure importer","text":"

Creating rounds can be done manually through the competition tool.

However, to save time on creating rounds, you can always use the structure importer and import a structure object file to quickly generate rounds based on your saved structure. This allows you to easily reuse bracket formats across multiple competitions.

If you would like to add rounds manually through the competition tool instead, go to this page.

"},{"location":"club/competition-tool/create-competition/structure-importer/#reference","title":"Reference","text":"

Click here to read a reference on structure objects and some examples.

"},{"location":"club/competition-tool/create-competition/structure-importer/#importing-your-structure","title":"Importing your structure","text":"

In the \"Structure format\" step of the competition creation form, click on \"Import structure\". You will see the following text area.

If you have a structure object ready for use, copy and paste the raw JSON text of your structure object. Click on \"Next step structure\" and you should have all of your rounds created!

From here on out, tweak the settings of each round (e.g. start/end times, round names, maps, script/plugin settings) to your preferences.

Important

If your rounds collects participants from a qualifier round, don't forget to tick the \"Add qualifier\" checkbox. This will add a qualifier as the very first round of your competition.

"},{"location":"club/competition-tool/create-competition/structure-importer/#saving-structures-for-future-use","title":"Saving structures for future use","text":"

After your competition is created, you can locate your structure object and save it for future use. From your competition's admin page, go to the Structure page. Here you will see all the rounds for your competition.

Click on the \"Show Structure\" button to view a JSON representation of your rounds. This is your structure object.

To save the current structure, you can copy and paste everything in this field into a text file, and run it through the structure importer again the next time you create a new event.

"},{"location":"club/competition-tool/structure/","title":"Structure object","text":"

To add rounds in the Competition tool you can import a preset structure object to allow reuse of the same rounds format in other competitions. You can read more importing a structure to your Competition in this page.

A structure object is a JSON containing rounds, matches, and player spot allocations in a Competition. The following page contains a reference of all the properties available.

"},{"location":"club/competition-tool/structure/#rounds","title":"Rounds","text":"

A round is an object which contains an array of matches. Each round is composed of at least one match which contains an array of participants.

{\n\"version\": 1,\n\"rounds\": [\n{\n\"name\": \"round 1\",\n\"matchGeneratorType\": \"spot_filler\",\n\"matchGeneratorData\": {\n\"matches\": [\n{\n\"spots\": []\n},\n{\n\"spots\": []\n}\n]\n}\n},\n{\n\"name\": \"round 2\",\n\"matchGeneratorType\": \"spot_filler\",\n\"matchGeneratorData\": {\n\"matches\": [\n{\n\"spots\": []\n}\n]\n}\n}\n]\n}\n
"},{"location":"club/competition-tool/structure/#properties","title":"Properties","text":"
  • name: The name of the round (e.g. \"Semifinal\").
  • matchGeneratorType: Is always spot_filler.
  • matchGeneratorData:
    • matches: An array of Matches in a round. A round can have one or more matches.
"},{"location":"club/competition-tool/structure/#matches","title":"Matches","text":"

Each round will always have one or more matches. A match object is where you determine player placements for a specific match in a round.

{\n\"matches\": [\n{\n\"spots\": [],\n\"settings\": {}\n}\n]\n}\n
"},{"location":"club/competition-tool/structure/#properties_1","title":"Properties","text":"
  • spots: An array of Spots to allocate players participating in the competition into the match.
  • settings: Additional script settings. If certain matches contains a different script settings from the ones set in Round settings, here you can script settings for that specific match.
"},{"location":"club/competition-tool/structure/#spots","title":"Spots","text":"

A spot is an object which determines which player is allocated to that specific spot in a match. It contains different properties depending on which spotType is set for that specific

"},{"location":"club/competition-tool/structure/#properties_2","title":"Properties","text":"

The following properties are available for all types of spot objects.

  • spotType: determines a spot type (i.e. how a player is placed in a match) for that particular spot in a match.
"},{"location":"club/competition-tool/structure/#solo-competitions","title":"Solo competitions","text":"

The following spot types are available for Solo competitions.

"},{"location":"club/competition-tool/structure/#qualifier","title":"Qualifier","text":"

Add a player from the qualifier leaderboard. To enable this spot type, a qualifier needs to be attached to a round.

  • spotType: round_challenge_participant
  • roundPosition: An index position (starting at 0) of the qualifier round.
  • rank: The rank of the player (starting at 1).

Example

{\n\"spotType\": \"round_challenge_participant\",\n\"roundPosition\": 0,\n\"rank\": 4\n}\n

The player in 4th position in the qualifier leaderboard is added to the match.

"},{"location":"club/competition-tool/structure/#previous-round","title":"Previous round","text":"

Add a player based on their placement in the previous round.

  • spotType: match_participant
  • roundPosition: The index position of the round to add the player from (starting at 0)
  • matchPosition: The index position of the match to add the player from (starting at 0)
  • rank: The rank of the player (starting at 1).

Example

{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 0,\n\"matchPosition\": 3,\n\"rank\": 2\n}\n

The 2nd place finisher of the fourth match of the first round is added to the match.

"},{"location":"club/competition-tool/structure/#player-with-a-seed","title":"Player with a seed","text":"

Add a player based on the seed allocated to them. You will have to manually set the seed for each player from the Players page after creating your competition.

  • spotType: competition_participant
  • seed: The seed given to the player (starting at 1).

Example

{\n\"spotType\": \"competition_participant\",\n\"seed\": 10\n}\n

The player with seed 10 is added to the match.

"},{"location":"club/competition-tool/structure/#leaderboard","title":"Leaderboard","text":"

Add a player based on their current placement in the competition leaderboard.

  • spotType: competition_participant
  • rank: The player's current position in the competition leaderboard (starting at 1).

Example

{\n\"spotType\": \"competition_leaderboard\",\n\"rank\": 5\n}\n

The player at 5th position in the current competition leaderboard is added to the match.

"},{"location":"club/competition-tool/structure/#team-competitions","title":"Team competitions","text":"

The following spot types are available for Team competitions.

"},{"location":"club/competition-tool/structure/#team-with-a-seed","title":"Team with a seed","text":"

Add a team based on the seed allocated to them. You will have to manually set the seed for each team from the Teams page after creating your competition.

  • spotType: competition_team
  • seed: The seed given to the team (starting at 1).

Example

{\n\"spotType\": \"competition_team\",\n\"seed\": 4\n}\n

The team with seed 4 is added to the match.

"},{"location":"club/competition-tool/structure/#team-name","title":"Team name","text":"

Add a specific team into the match.

  • spotType: competition_team_id
  • competitionId: Is always null.
  • teamId: The name of the team (must be as exactly set in the Teams page).

Example

{\n\"spotType\": \"competition_team_id\",\n\"competitionId\": null,\n\"teamId\": \"Team Name\"\n}\n

Team \"Team Name\" is added to the match.

"},{"location":"club/competition-tool/structure/#previous-round_1","title":"Previous round","text":"

Add a team based on their placement in the previous round.

  • spotType: team_match_participant
  • roundPosition: The index position of the round to add the team from (starting at 0)
  • matchPosition: The index position of the match to add the team from (starting at 0)
  • rank: The rank of the team (starting at 1).

Example

{\n\"spotType\": \"team_match_participant\",\n\"roundPosition\": 0,\n\"matchPosition\": 1,\n\"rank\": 2\n}\n

The 2nd place team of the second match of the first round is added to the match.

"},{"location":"club/competition-tool/structure/examples-solo/","title":"Examples (Solo competitions)","text":"

Below are a few structure examples for Solo competitions that you can use as a starting point for your competition.

"},{"location":"club/competition-tool/structure/examples-solo/#single-elimination-bracket","title":"Single elimination bracket","text":"

Let's say you have a bracket that looks like this:

We can then map how this will be laid out as a structure in the competition tool.

Stucture of the above bracket

  • Round 1 - Semifinal - participants are added from the qualifier which is attached to this round
    • Match 1
      • Participant of qualifier at rank 1
      • Participant of qualifier at rank 4
      • Participant of qualifier at rank 5
      • Participant of qualifier at rank 8
    • Match 2
      • Participant of qualifier at rank 2
      • Participant of qualifier at rank 3
      • Participant of qualifier at rank 6
      • Participant of qualifier at rank 8
  • Round 2 - Final - participants are added from the previous round (round 1)
    • Match 1
      • Participant of the round 1 and match 1 at rank 1
      • Participant of the round 1 and match 1 at rank 2
      • Participant of the round 1 and match 2 at rank 1
      • Participant of the round 1 and match 2 at rank 2

Therefore, our structure is like this.

{\n\"version\": 1,\n\"rounds\": [\n{\n\"name\": \"round 1\",\n\"matchGeneratorType\": \"spot_filler\",\n\"matchGeneratorData\": {\n\"matches\": [\n{\n\"spots\": [\n{\n\"spotType\": \"round_challenge_participant\",\n\"roundPosition\": 0,\n\"rank\": 1\n},\n{\n\"spotType\": \"round_challenge_participant\",\n\"roundPosition\": 0,\n\"rank\": 4\n},\n{\n\"spotType\": \"round_challenge_participant\",\n\"roundPosition\": 0,\n\"rank\": 5\n},\n{\n\"spotType\": \"round_challenge_participant\",\n\"roundPosition\": 0,\n\"rank\": 8\n}\n]\n},\n{\n\"spots\": [\n{\n\"spotType\": \"round_challenge_participant\",\n\"roundPosition\": 0,\n\"rank\": 2\n},\n{\n\"spotType\": \"round_challenge_participant\",\n\"roundPosition\": 0,\n\"rank\": 3\n},\n{\n\"spotType\": \"round_challenge_participant\",\n\"roundPosition\": 0,\n\"rank\": 6\n},\n{\n\"spotType\": \"round_challenge_participant\",\n\"roundPosition\": 0,\n\"rank\": 7\n}\n]\n}\n]\n}\n},\n{\n\"name\": \"round 2\",\n\"matchGeneratorType\": \"spot_filler\",\n\"matchGeneratorData\": {\n\"matches\": [\n{\n\"spots\": [\n{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 0,\n\"matchPosition\": 0,\n\"rank\": 1\n},\n{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 0,\n\"matchPosition\": 0,\n\"rank\": 2\n},\n{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 0,\n\"matchPosition\": 1,\n\"rank\": 1\n},\n{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 0,\n\"matchPosition\": 1,\n\"rank\": 2\n}\n]\n}\n]\n}\n}\n]\n}\n
"},{"location":"club/competition-tool/structure/examples-solo/#single-elimination-bracket-without-qualifier","title":"Single elimination bracket without qualifier","text":"

The same bracket above can also be applied to competitions without a qualifier. Instead of using a spotType of round_challenge_participant for round 1, we use competition_participant and manually set a seed for each participant in the Participants menu.

{\n\"version\": 1,\n\"rounds\": [\n{\n\"name\": \"round 1\",\n\"matchGeneratorType\": \"spot_filler\",\n\"matchGeneratorData\": {\n\"matches\": [\n{\n\"spots\": [\n{\n\"spotType\": \"competition_participant\",\n\"seed\": 1\n},\n{\n\"spotType\": \"competition_participant\",\n\"seed\": 4\n},\n{\n\"spotType\": \"competition_participant\",\n\"seed\": 5\n},\n{\n\"spotType\": \"competition_participant\",\n\"seed\": 8\n}\n]\n},\n{\n\"spots\": [\n{\n\"spotType\": \"competition_participant\",\n\"seed\": 2\n},\n{\n\"spotType\": \"competition_participant\",\n\"seed\": 3\n},\n{\n\"spotType\": \"competition_participant\",\n\"seed\": 6\n},\n{\n\"spotType\": \"competition_participant\",\n\"seed\": 7\n}\n]\n}\n]\n}\n},\n{\n\"name\": \"round 2\",\n\"matchGeneratorType\": \"spot_filler\",\n\"matchGeneratorData\": {\n\"matches\": [\n{\n\"spots\": [\n{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 0,\n\"matchPosition\": 0,\n\"rank\": 1\n},\n{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 0,\n\"matchPosition\": 0,\n\"rank\": 2\n},\n{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 0,\n\"matchPosition\": 1,\n\"rank\": 1\n},\n{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 0,\n\"matchPosition\": 1,\n\"rank\": 2\n}\n]\n}\n]\n}\n}\n]\n}\n
"},{"location":"club/competition-tool/structure/examples-solo/#championship","title":"Championship","text":"

Used in a format where the same players play for multiple rounds within the same match, with results being counted from total points (similar to Formula 1).

Below is an example for a 3-round championship, where each round has 1 match, which contains 8 players. You can also add more rounds, matches and players.

{\n\"version\": 1,\n\"rounds\": [\n{\n\"name\": \"round 1\",\n\"matchGeneratorType\": \"spot_filler\",\n\"matchGeneratorData\": {\n\"matches\": [\n{\n\"spots\": [\n{\n\"spotType\": \"competition_participant\",\n\"seed\": 1\n},\n{\n\"spotType\": \"competition_participant\",\n\"seed\": 2\n},\n{\n\"spotType\": \"competition_participant\",\n\"seed\": 3\n},\n{\n\"spotType\": \"competition_participant\",\n\"seed\": 4\n},\n{\n\"spotType\": \"competition_participant\",\n\"seed\": 5\n},\n{\n\"spotType\": \"competition_participant\",\n\"seed\": 6\n},\n{\n\"spotType\": \"competition_participant\",\n\"seed\": 7\n},\n{\n\"spotType\": \"competition_participant\",\n\"seed\": 8\n}\n]\n}\n]\n}\n},\n{\n\"name\": \"round 2\",\n\"matchGeneratorType\": \"spot_filler\",\n\"matchGeneratorData\": {\n\"matches\": [\n{\n\"spots\": [\n{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 0,\n\"matchPosition\": 0,\n\"rank\": 1\n},\n{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 0,\n\"matchPosition\": 0,\n\"rank\": 2\n},\n{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 0,\n\"matchPosition\": 0,\n\"rank\": 3\n},\n{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 0,\n\"matchPosition\": 0,\n\"rank\": 4\n},\n{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 0,\n\"matchPosition\": 0,\n\"rank\": 5\n},\n{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 0,\n\"matchPosition\": 0,\n\"rank\": 6\n},\n{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 0,\n\"matchPosition\": 0,\n\"rank\": 7\n},\n{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 0,\n\"matchPosition\": 0,\n\"rank\": 8\n}\n]\n}\n]\n}\n},\n{\n\"name\": \"round 3\",\n\"matchGeneratorType\": \"spot_filler\",\n\"matchGeneratorData\": {\n\"matches\": [\n{\n\"spots\": [\n{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 1,\n\"matchPosition\": 0,\n\"rank\": 1\n},\n{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 1,\n\"matchPosition\": 0,\n\"rank\": 2\n},\n{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 1,\n\"matchPosition\": 0,\n\"rank\": 3\n},\n{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 1,\n\"matchPosition\": 0,\n\"rank\": 4\n},\n{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 1,\n\"matchPosition\": 0,\n\"rank\": 5\n},\n{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 1,\n\"matchPosition\": 0,\n\"rank\": 6\n},\n{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 1,\n\"matchPosition\": 0,\n\"rank\": 7\n},\n{\n\"spotType\": \"match_participant\",\n\"roundPosition\": 1,\n\"matchPosition\": 0,\n\"rank\": 8\n}\n]\n}\n]\n}\n}\n]\n}\n
"},{"location":"club/competition-tool/structure/examples-team/","title":"Examples (Team competition)","text":"

Below are a few structure examples for Team competitions that you can use as a starting point for your competition.

"},{"location":"club/competition-tool/structure/examples-team/#single-elimination-bracket","title":"Single elimination bracket","text":"

A standard single elimination bracket. Below is an example of a single elimination bracket with 8 teams. You will need to manually set a seed for each team in the Teams menu.

{\n\"version\": 1,\n\"rounds\": [\n{\n\"name\": \"round 1\",\n\"matchGeneratorType\": \"spot_filler\",\n\"matchGeneratorData\": {\n\"matches\": [\n{\n\"spots\": [\n{\n\"spotType\": \"competition_team\",\n\"seed\": 1\n},\n{\n\"spotType\": \"competition_team\",\n\"seed\": 8\n}\n]\n},\n{\n\"spots\": [\n{\n\"spotType\": \"competition_team\",\n\"seed\": 4\n},\n{\n\"spotType\": \"competition_team\",\n\"seed\": 5\n}\n]\n},\n{\n\"spots\": [\n{\n\"spotType\": \"competition_team\",\n\"seed\": 2\n},\n{\n\"spotType\": \"competition_team\",\n\"seed\": 7\n}\n]\n},\n{\n\"spots\": [\n{\n\"spotType\": \"competition_team\",\n\"seed\": 3\n},\n{\n\"spotType\": \"competition_team\",\n\"seed\": 6\n}\n]\n}\n]\n}\n},\n{\n\"name\": \"round 2\",\n\"matchGeneratorType\": \"spot_filler\",\n\"matchGeneratorData\": {\n\"matches\": [\n{\n\"spots\": [\n{\n\"spotType\": \"team_match_participant\",\n\"roundPosition\": 0,\n\"matchPosition\": 0,\n\"rank\": 1\n},\n{\n\"spotType\": \"team_match_participant\",\n\"roundPosition\": 0,\n\"matchPosition\": 1,\n\"rank\": 1\n}\n]\n},\n{\n\"spots\": [\n{\n\"spotType\": \"team_match_participant\",\n\"roundPosition\": 0,\n\"matchPosition\": 2,\n\"rank\": 1\n},\n{\n\"spotType\": \"team_match_participant\",\n\"roundPosition\": 0,\n\"matchPosition\": 3,\n\"rank\": 1\n}\n]\n}\n]\n}\n},\n{\n\"name\": \"round 3\",\n\"matchGeneratorType\": \"spot_filler\",\n\"matchGeneratorData\": {\n\"matches\": [\n{\n\"spots\": [\n{\n\"spotType\": \"team_match_participant\",\n\"roundPosition\": 1,\n\"matchPosition\": 0,\n\"rank\": 1\n},\n{\n\"spotType\": \"team_match_participant\",\n\"roundPosition\": 1,\n\"matchPosition\": 1,\n\"rank\": 1\n}\n]\n}\n]\n}\n}\n]\n}\n
"},{"location":"club/competition-tool/structure/examples-team/#round-robin","title":"Round robin","text":"

A competition format where each team plays against each other at least once. Results are normally determined by a team's win-loss record. (e.g. TMGL Regular Season)

Below is an example for a 4-team round robin tournament, where each team faces each other once. You will need to manually set a seed for each team in the Teams menu.

{\n\"version\": 1,\n\"rounds\": [\n{\n\"name\": \"round 1\",\n\"matchGeneratorType\": \"spot_filler\",\n\"matchGeneratorData\": {\n\"matches\": [\n{\n\"spots\": [\n{\n\"spotType\": \"competition_team\",\n\"seed\": 1\n},\n{\n\"spotType\": \"competition_team\",\n\"seed\": 4\n}\n]\n},\n{\n\"spots\": [\n{\n\"spotType\": \"competition_team\",\n\"seed\": 2\n},\n{\n\"spotType\": \"competition_team\",\n\"seed\": 3\n}\n]\n}\n]\n}\n},\n{\n\"name\": \"round 2\",\n\"matchGeneratorType\": \"spot_filler\",\n\"matchGeneratorData\": {\n\"matches\": [\n{\n\"spots\": [\n{\n\"spotType\": \"competition_team\",\n\"seed\": 1\n},\n{\n\"spotType\": \"competition_team\",\n\"seed\": 2\n}\n]\n},\n{\n\"spots\": [\n{\n\"spotType\": \"competition_team\",\n\"seed\": 3\n},\n{\n\"spotType\": \"competition_team\",\n\"seed\": 4\n}\n]\n}\n]\n}\n},\n{\n\"name\": \"round 3\",\n\"matchGeneratorType\": \"spot_filler\",\n\"matchGeneratorData\": {\n\"matches\": [\n{\n\"spots\": [\n{\n\"spotType\": \"competition_team\",\n\"seed\": 1\n},\n{\n\"spotType\": \"competition_team\",\n\"seed\": 3\n}\n]\n},\n{\n\"spots\": [\n{\n\"spotType\": \"competition_team\",\n\"seed\": 2\n},\n{\n\"spotType\": \"competition_team\",\n\"seed\": 4\n}\n]\n}\n]\n}\n}\n]\n}\n
"},{"location":"club/competition-tool/zones/","title":"Zones","text":"

Warning

This section contains the list of available zones to be used for creating competitions. It may be incomplete.

"},{"location":"club/competition-tool/zones/#world","title":"World","text":"
World\nWorld|Africa\nWorld|Asia\nWorld|Europe\nWorld|Middle East\nWorld|North America\nWorld|Oceania\nWorld|South America\n
"},{"location":"club/competition-tool/zones/01-africa/","title":"Africa","text":"

Warning

This section contains the list of available zones to be used for creating competitions. It may be incomplete.

World|Africa|Algeria\nWorld|Africa|Angola\nWorld|Africa|Benin\nWorld|Africa|Botswana\nWorld|Africa|Burkina Faso\nWorld|Africa|Burundi\nWorld|Africa|Cabo Verde\nWorld|Africa|Cameroon\nWorld|Africa|Central African Republic\nWorld|Africa|Chad\nWorld|Africa|Comoros\nWorld|Africa|Congo\nWorld|Africa|DR Congo\nWorld|Africa|Djibouti\nWorld|Africa|Equatorial Guinea\nWorld|Africa|Eritrea\nWorld|Africa|Ethiopia\nWorld|Africa|Gabon\nWorld|Africa|Ghana\nWorld|Africa|Guinea\nWorld|Africa|Guinea-Bissau\nWorld|Africa|Ivory Coast\nWorld|Africa|Kenya\nWorld|Africa|Lesotho\nWorld|Africa|Liberia\nWorld|Africa|Libya\nWorld|Africa|Madagascar\nWorld|Africa|Malawi\nWorld|Africa|Mali\nWorld|Africa|Mauritania\nWorld|Africa|Mauritius\nWorld|Africa|Morocco\nWorld|Africa|Mozambique\nWorld|Africa|Namibia\nWorld|Africa|Niger\nWorld|Africa|Nigeria\nWorld|Africa|Rwanda\nWorld|Africa|Senegal\nWorld|Africa|Seychelles\nWorld|Africa|Sierra Leone\nWorld|Africa|Somalia\nWorld|Africa|South Africa\nWorld|Africa|South Sudan\nWorld|Africa|Sudan\nWorld|Africa|S\u00e3o Tom\u00e9 and Pr\u00edncipe\nWorld|Africa|Tanzania\nWorld|Africa|The Gambia\nWorld|Africa|Togo\nWorld|Africa|Tunisia\nWorld|Africa|Uganda\nWorld|Africa|Zambia\nWorld|Africa|Zimbabwe\n
"},{"location":"club/competition-tool/zones/02-asia/","title":"Asia","text":"

Warning

This section contains the list of available zones to be used for creating competitions. It may be incomplete.

World|Asia|Afghanistan\nWorld|Asia|Armenia\nWorld|Asia|Azerbaijan\nWorld|Asia|Bangladesh\nWorld|Asia|Bhutan\nWorld|Asia|Brunei\nWorld|Asia|Cambodia\nWorld|Asia|China\nWorld|Asia|Georgia\nWorld|Asia|Hong Kong\nWorld|Asia|India\nWorld|Asia|Indonesia\nWorld|Asia|Japan\nWorld|Asia|Kazakhstan\nWorld|Asia|Kyrgyzstan\nWorld|Asia|Laos\nWorld|Asia|Malaysia\nWorld|Asia|Maldives\nWorld|Asia|Mongolia\nWorld|Asia|Myanmar\nWorld|Asia|Nepal\nWorld|Asia|North Korea\nWorld|Asia|Pakistan\nWorld|Asia|Philippines\nWorld|Asia|Singapore\nWorld|Asia|South Korea\nWorld|Asia|Sri Lanka\nWorld|Asia|Tajikistan\nWorld|Asia|Ta\u00efwan\nWorld|Asia|Thailand\nWorld|Asia|Timor-Leste\nWorld|Asia|Turkmenistan\nWorld|Asia|Uzbekistan\nWorld|Asia|Vietnam\n
"},{"location":"club/competition-tool/zones/02-asia/#china","title":"China","text":"
World|Asia|China|\u4e0a\u6d77\u5e02\nWorld|Asia|China|\u4e91\u5357\u7701\nWorld|Asia|China|\u5185\u8499\u53e4\u81ea\u6cbb\u533a\nWorld|Asia|China|\u5317\u4eac\u5e02\nWorld|Asia|China|\u5409\u6797\u7701\nWorld|Asia|China|\u56db\u5ddd\u7701\nWorld|Asia|China|\u5929\u6d25\u5e02\nWorld|Asia|China|\u5b81\u590f\u56de\u65cf\u81ea\u6cbb\u533a\nWorld|Asia|China|\u5b89\u5fbd\u7701\nWorld|Asia|China|\u5c71\u4e1c\u7701\nWorld|Asia|China|\u5c71\u897f\u7701\nWorld|Asia|China|\u5e7f\u4e1c\u7701\nWorld|Asia|China|\u5e7f\u897f\u58ee\u65cf\u81ea\u6cbb\u533a\nWorld|Asia|China|\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a\nWorld|Asia|China|\u6c5f\u82cf\u7701\nWorld|Asia|China|\u6c5f\u897f\u7701\nWorld|Asia|China|\u6cb3\u5317\u7701\nWorld|Asia|China|\u6cb3\u5357\u7701\nWorld|Asia|China|\u6d59\u6c5f\u7701\nWorld|Asia|China|\u6d77\u5357\u7701\nWorld|Asia|China|\u6e56\u5317\u7701\nWorld|Asia|China|\u6e56\u5357\u7701\nWorld|Asia|China|\u6fb3\u95e8\u7279\u522b\u884c\u653f\u533a\nWorld|Asia|China|\u7518\u8083\u7701\nWorld|Asia|China|\u798f\u5efa\u7701\nWorld|Asia|China|\u897f\u85cf\u81ea\u6cbb\u533a\nWorld|Asia|China|\u8d35\u5dde\u7701\nWorld|Asia|China|\u8fbd\u5b81\u7701\nWorld|Asia|China|\u91cd\u5e86\u5e02\nWorld|Asia|China|\u9655\u897f\u7701\nWorld|Asia|China|\u9752\u6d77\u7701\nWorld|Asia|China|\u9ed1\u9f99\u6c5f\u7701\n
World|Asia|China|\u4e0a\u6d77\u5e02|\u4e0a\u6d77\u5e02\nWorld|Asia|China|\u4e91\u5357\u7701|\u4e34\u6ca7\u5e02\nWorld|Asia|China|\u4e91\u5357\u7701|\u4e3d\u6c5f\u5e02\nWorld|Asia|China|\u4e91\u5357\u7701|\u4fdd\u5c71\u5e02\nWorld|Asia|China|\u4e91\u5357\u7701|\u5927\u7406\u767d\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u4e91\u5357\u7701|\u5fb7\u5b8f\u50a3\u65cf\u666f\u9887\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u4e91\u5357\u7701|\u6012\u6c5f\u5088\u50f3\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u4e91\u5357\u7701|\u601d\u8305\u5e02\nWorld|Asia|China|\u4e91\u5357\u7701|\u6587\u5c71\u58ee\u65cf\u82d7\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u4e91\u5357\u7701|\u6606\u660e\u5e02\nWorld|Asia|China|\u4e91\u5357\u7701|\u662d\u901a\u5e02\nWorld|Asia|China|\u4e91\u5357\u7701|\u66f2\u9756\u5e02\nWorld|Asia|China|\u4e91\u5357\u7701|\u695a\u96c4\u5f5d\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u4e91\u5357\u7701|\u7389\u6eaa\u5e02\nWorld|Asia|China|\u4e91\u5357\u7701|\u7ea2\u6cb3\u54c8\u5c3c\u65cf\u5f5d\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u4e91\u5357\u7701|\u897f\u53cc\u7248\u7eb3\u50a3\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u4e91\u5357\u7701|\u8fea\u5e86\u85cf\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u5185\u8499\u53e4\u81ea\u6cbb\u533a|\u4e4c\u5170\u5bdf\u5e03\u5e02\nWorld|Asia|China|\u5185\u8499\u53e4\u81ea\u6cbb\u533a|\u4e4c\u6d77\u5e02\nWorld|Asia|China|\u5185\u8499\u53e4\u81ea\u6cbb\u533a|\u5174\u5b89\u76df\nWorld|Asia|China|\u5185\u8499\u53e4\u81ea\u6cbb\u533a|\u5305\u5934\u5e02\nWorld|Asia|China|\u5185\u8499\u53e4\u81ea\u6cbb\u533a|\u547c\u4f26\u8d1d\u5c14\u5e02\nWorld|Asia|China|\u5185\u8499\u53e4\u81ea\u6cbb\u533a|\u547c\u548c\u6d69\u7279\u5e02\nWorld|Asia|China|\u5185\u8499\u53e4\u81ea\u6cbb\u533a|\u5df4\u5f66\u6dd6\u5c14\u5e02\nWorld|Asia|China|\u5185\u8499\u53e4\u81ea\u6cbb\u533a|\u8d64\u5cf0\u5e02\nWorld|Asia|China|\u5185\u8499\u53e4\u81ea\u6cbb\u533a|\u901a\u8fbd\u5e02\nWorld|Asia|China|\u5185\u8499\u53e4\u81ea\u6cbb\u533a|\u9102\u5c14\u591a\u65af\u5e02\nWorld|Asia|China|\u5185\u8499\u53e4\u81ea\u6cbb\u533a|\u9521\u6797\u90ed\u52d2\u76df\nWorld|Asia|China|\u5185\u8499\u53e4\u81ea\u6cbb\u533a|\u963f\u62c9\u5584\u76df\nWorld|Asia|China|\u5317\u4eac\u5e02|\u5317\u4eac\u5e02\nWorld|Asia|China|\u5409\u6797\u7701|\u5409\u6797\u5e02\nWorld|Asia|China|\u5409\u6797\u7701|\u56db\u5e73\u5e02\nWorld|Asia|China|\u5409\u6797\u7701|\u5ef6\u8fb9\u671d\u9c9c\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u5409\u6797\u7701|\u677e\u539f\u5e02\nWorld|Asia|China|\u5409\u6797\u7701|\u767d\u57ce\u5e02\nWorld|Asia|China|\u5409\u6797\u7701|\u767d\u5c71\u5e02\nWorld|Asia|China|\u5409\u6797\u7701|\u8fbd\u6e90\u5e02\nWorld|Asia|China|\u5409\u6797\u7701|\u901a\u5316\u5e02\nWorld|Asia|China|\u5409\u6797\u7701|\u957f\u6625\u5e02\nWorld|Asia|China|\u56db\u5ddd\u7701|\u4e50\u5c71\u5e02\nWorld|Asia|China|\u56db\u5ddd\u7701|\u5185\u6c5f\u5e02\nWorld|Asia|China|\u56db\u5ddd\u7701|\u51c9\u5c71\u5f5d\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u56db\u5ddd\u7701|\u5357\u5145\u5e02\nWorld|Asia|China|\u56db\u5ddd\u7701|\u5b9c\u5bbe\u5e02\nWorld|Asia|China|\u56db\u5ddd\u7701|\u5df4\u4e2d\u5e02\nWorld|Asia|China|\u56db\u5ddd\u7701|\u5e7f\u5143\u5e02\nWorld|Asia|China|\u56db\u5ddd\u7701|\u5e7f\u5b89\u5e02\nWorld|Asia|China|\u56db\u5ddd\u7701|\u5fb7\u9633\u5e02\nWorld|Asia|China|\u56db\u5ddd\u7701|\u6210\u90fd\u5e02\nWorld|Asia|China|\u56db\u5ddd\u7701|\u6500\u679d\u82b1\u5e02\nWorld|Asia|China|\u56db\u5ddd\u7701|\u6cf8\u5dde\u5e02\nWorld|Asia|China|\u56db\u5ddd\u7701|\u7518\u5b5c\u85cf\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u56db\u5ddd\u7701|\u7709\u5c71\u5e02\nWorld|Asia|China|\u56db\u5ddd\u7701|\u7ef5\u9633\u5e02\nWorld|Asia|China|\u56db\u5ddd\u7701|\u81ea\u8d21\u5e02\nWorld|Asia|China|\u56db\u5ddd\u7701|\u8d44\u9633\u5e02\nWorld|Asia|China|\u56db\u5ddd\u7701|\u8fbe\u5dde\u5e02\nWorld|Asia|China|\u56db\u5ddd\u7701|\u9042\u5b81\u5e02\nWorld|Asia|China|\u56db\u5ddd\u7701|\u963f\u575d\u85cf\u65cf\u7f8c\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u56db\u5ddd\u7701|\u96c5\u5b89\u5e02\nWorld|Asia|China|\u5929\u6d25\u5e02|\u5929\u6d25\u5e02\nWorld|Asia|China|\u5b81\u590f\u56de\u65cf\u81ea\u6cbb\u533a|\u4e2d\u536b\u5e02\nWorld|Asia|China|\u5b81\u590f\u56de\u65cf\u81ea\u6cbb\u533a|\u5434\u5fe0\u5e02\nWorld|Asia|China|\u5b81\u590f\u56de\u65cf\u81ea\u6cbb\u533a|\u56fa\u539f\u5e02\nWorld|Asia|China|\u5b81\u590f\u56de\u65cf\u81ea\u6cbb\u533a|\u77f3\u5634\u5c71\u5e02\nWorld|Asia|China|\u5b81\u590f\u56de\u65cf\u81ea\u6cbb\u533a|\u94f6\u5ddd\u5e02\nWorld|Asia|China|\u5b89\u5fbd\u7701|\u4eb3\u5dde\u5e02\nWorld|Asia|China|\u5b89\u5fbd\u7701|\u516d\u5b89\u5e02\nWorld|Asia|China|\u5b89\u5fbd\u7701|\u5408\u80a5\u5e02\nWorld|Asia|China|\u5b89\u5fbd\u7701|\u5b89\u5e86\u5e02\nWorld|Asia|China|\u5b89\u5fbd\u7701|\u5ba3\u57ce\u5e02\nWorld|Asia|China|\u5b89\u5fbd\u7701|\u5bbf\u5dde\u5e02\nWorld|Asia|China|\u5b89\u5fbd\u7701|\u5de2\u6e56\u5e02\nWorld|Asia|China|\u5b89\u5fbd\u7701|\u6c60\u5dde\u5e02\nWorld|Asia|China|\u5b89\u5fbd\u7701|\u6dee\u5317\u5e02\nWorld|Asia|China|\u5b89\u5fbd\u7701|\u6dee\u5357\u5e02\nWorld|Asia|China|\u5b89\u5fbd\u7701|\u6ec1\u5dde\u5e02\nWorld|Asia|China|\u5b89\u5fbd\u7701|\u829c\u6e56\u5e02\nWorld|Asia|China|\u5b89\u5fbd\u7701|\u868c\u57e0\u5e02\nWorld|Asia|China|\u5b89\u5fbd\u7701|\u94dc\u9675\u5e02\nWorld|Asia|China|\u5b89\u5fbd\u7701|\u961c\u9633\u5e02\nWorld|Asia|China|\u5b89\u5fbd\u7701|\u9a6c\u978d\u5c71\u5e02\nWorld|Asia|China|\u5b89\u5fbd\u7701|\u9ec4\u5c71\u5e02\nWorld|Asia|China|\u5c71\u4e1c\u7701|\u4e1c\u8425\u5e02\nWorld|Asia|China|\u5c71\u4e1c\u7701|\u4e34\u6c82\u5e02\nWorld|Asia|China|\u5c71\u4e1c\u7701|\u5a01\u6d77\u5e02\nWorld|Asia|China|\u5c71\u4e1c\u7701|\u5fb7\u5dde\u5e02\nWorld|Asia|China|\u5c71\u4e1c\u7701|\u65e5\u7167\u5e02\nWorld|Asia|China|\u5c71\u4e1c\u7701|\u67a3\u5e84\u5e02\nWorld|Asia|China|\u5c71\u4e1c\u7701|\u6cf0\u5b89\u5e02\nWorld|Asia|China|\u5c71\u4e1c\u7701|\u6d4e\u5357\u5e02\nWorld|Asia|China|\u5c71\u4e1c\u7701|\u6d4e\u5b81\u5e02\nWorld|Asia|China|\u5c71\u4e1c\u7701|\u6dc4\u535a\u5e02\nWorld|Asia|China|\u5c71\u4e1c\u7701|\u6ee8\u5dde\u5e02\nWorld|Asia|China|\u5c71\u4e1c\u7701|\u6f4d\u574a\u5e02\nWorld|Asia|China|\u5c71\u4e1c\u7701|\u70df\u53f0\u5e02\nWorld|Asia|China|\u5c71\u4e1c\u7701|\u804a\u57ce\u5e02\nWorld|Asia|China|\u5c71\u4e1c\u7701|\u8377\u6cfd\u5e02\nWorld|Asia|China|\u5c71\u4e1c\u7701|\u83b1\u829c\u5e02\nWorld|Asia|China|\u5c71\u4e1c\u7701|\u9752\u5c9b\u5e02\nWorld|Asia|China|\u5c71\u897f\u7701|\u4e34\u6c7e\u5e02\nWorld|Asia|China|\u5c71\u897f\u7701|\u5415\u6881\u5e02\nWorld|Asia|China|\u5c71\u897f\u7701|\u5927\u540c\u5e02\nWorld|Asia|China|\u5c71\u897f\u7701|\u592a\u539f\u5e02\nWorld|Asia|China|\u5c71\u897f\u7701|\u5ffb\u5dde\u5e02\nWorld|Asia|China|\u5c71\u897f\u7701|\u664b\u4e2d\u5e02\nWorld|Asia|China|\u5c71\u897f\u7701|\u664b\u57ce\u5e02\nWorld|Asia|China|\u5c71\u897f\u7701|\u6714\u5dde\u5e02\nWorld|Asia|China|\u5c71\u897f\u7701|\u8fd0\u57ce\u5e02\nWorld|Asia|China|\u5c71\u897f\u7701|\u957f\u6cbb\u5e02\nWorld|Asia|China|\u5c71\u897f\u7701|\u9633\u6cc9\u5e02\nWorld|Asia|China|\u5e7f\u4e1c\u7701|\u4e1c\u839e\u5e02\nWorld|Asia|China|\u5e7f\u4e1c\u7701|\u4e2d\u5c71\u5e02\nWorld|Asia|China|\u5e7f\u4e1c\u7701|\u4e91\u6d6e\u5e02\nWorld|Asia|China|\u5e7f\u4e1c\u7701|\u4f5b\u5c71\u5e02\nWorld|Asia|China|\u5e7f\u4e1c\u7701|\u5e7f\u5dde\u5e02\nWorld|Asia|China|\u5e7f\u4e1c\u7701|\u60e0\u5dde\u5e02\nWorld|Asia|China|\u5e7f\u4e1c\u7701|\u63ed\u9633\u5e02\nWorld|Asia|China|\u5e7f\u4e1c\u7701|\u6885\u5dde\u5e02\nWorld|Asia|China|\u5e7f\u4e1c\u7701|\u6c55\u5934\u5e02\nWorld|Asia|China|\u5e7f\u4e1c\u7701|\u6c55\u5c3e\u5e02\nWorld|Asia|China|\u5e7f\u4e1c\u7701|\u6c5f\u95e8\u5e02\nWorld|Asia|China|\u5e7f\u4e1c\u7701|\u6cb3\u6e90\u5e02\nWorld|Asia|China|\u5e7f\u4e1c\u7701|\u6df1\u5733\u5e02\nWorld|Asia|China|\u5e7f\u4e1c\u7701|\u6e05\u8fdc\u5e02\nWorld|Asia|China|\u5e7f\u4e1c\u7701|\u6e5b\u6c5f\u5e02\nWorld|Asia|China|\u5e7f\u4e1c\u7701|\u6f6e\u5dde\u5e02\nWorld|Asia|China|\u5e7f\u4e1c\u7701|\u73e0\u6d77\u5e02\nWorld|Asia|China|\u5e7f\u4e1c\u7701|\u8087\u5e86\u5e02\nWorld|Asia|China|\u5e7f\u4e1c\u7701|\u8302\u540d\u5e02\nWorld|Asia|China|\u5e7f\u4e1c\u7701|\u9633\u6c5f\u5e02\nWorld|Asia|China|\u5e7f\u4e1c\u7701|\u97f6\u5173\u5e02\nWorld|Asia|China|\u5e7f\u897f\u58ee\u65cf\u81ea\u6cbb\u533a|\u5317\u6d77\u5e02\nWorld|Asia|China|\u5e7f\u897f\u58ee\u65cf\u81ea\u6cbb\u533a|\u5357\u5b81\u5e02\nWorld|Asia|China|\u5e7f\u897f\u58ee\u65cf\u81ea\u6cbb\u533a|\u5d07\u5de6\u5e02\nWorld|Asia|China|\u5e7f\u897f\u58ee\u65cf\u81ea\u6cbb\u533a|\u6765\u5bbe\u5e02\nWorld|Asia|China|\u5e7f\u897f\u58ee\u65cf\u81ea\u6cbb\u533a|\u67f3\u5dde\u5e02\nWorld|Asia|China|\u5e7f\u897f\u58ee\u65cf\u81ea\u6cbb\u533a|\u6842\u6797\u5e02\nWorld|Asia|China|\u5e7f\u897f\u58ee\u65cf\u81ea\u6cbb\u533a|\u68a7\u5dde\u5e02\nWorld|Asia|China|\u5e7f\u897f\u58ee\u65cf\u81ea\u6cbb\u533a|\u6cb3\u6c60\u5e02\nWorld|Asia|China|\u5e7f\u897f\u58ee\u65cf\u81ea\u6cbb\u533a|\u7389\u6797\u5e02\nWorld|Asia|China|\u5e7f\u897f\u58ee\u65cf\u81ea\u6cbb\u533a|\u767e\u8272\u5e02\nWorld|Asia|China|\u5e7f\u897f\u58ee\u65cf\u81ea\u6cbb\u533a|\u8d35\u6e2f\u5e02\nWorld|Asia|China|\u5e7f\u897f\u58ee\u65cf\u81ea\u6cbb\u533a|\u8d3a\u5dde\u5e02\nWorld|Asia|China|\u5e7f\u897f\u58ee\u65cf\u81ea\u6cbb\u533a|\u94a6\u5dde\u5e02\nWorld|Asia|China|\u5e7f\u897f\u58ee\u65cf\u81ea\u6cbb\u533a|\u9632\u57ce\u6e2f\u5e02\nWorld|Asia|China|\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a|\u4e4c\u9c81\u6728\u9f50\u5e02\nWorld|Asia|China|\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a|\u4e94\u5bb6\u6e20\u5e02\nWorld|Asia|China|\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a|\u4f0a\u7281\u54c8\u8428\u514b\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a|\u514b\u5b5c\u52d2\u82cf\u67ef\u5c14\u514b\u5b5c\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a|\u514b\u62c9\u739b\u4f9d\u5e02\nWorld|Asia|China|\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a|\u535a\u5c14\u5854\u62c9\u8499\u53e4\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a|\u5410\u9c81\u756a\u5730\u533a\nWorld|Asia|China|\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a|\u548c\u7530\u5730\u533a\nWorld|Asia|China|\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a|\u54c8\u5bc6\u5730\u533a\nWorld|Asia|China|\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a|\u5580\u4ec0\u5730\u533a\nWorld|Asia|China|\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a|\u56fe\u6728\u8212\u514b\u5e02\nWorld|Asia|China|\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a|\u5854\u57ce\u5730\u533a\nWorld|Asia|China|\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a|\u5df4\u97f3\u90ed\u695e\u8499\u53e4\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a|\u660c\u5409\u56de\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a|\u77f3\u6cb3\u5b50\u5e02\nWorld|Asia|China|\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a|\u963f\u514b\u82cf\u5730\u533a\nWorld|Asia|China|\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a|\u963f\u52d2\u6cf0\u5730\u533a\nWorld|Asia|China|\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a|\u963f\u62c9\u5c14\u5e02\nWorld|Asia|China|\u6c5f\u82cf\u7701|\u5357\u4eac\u5e02\nWorld|Asia|China|\u6c5f\u82cf\u7701|\u5357\u901a\u5e02\nWorld|Asia|China|\u6c5f\u82cf\u7701|\u5bbf\u8fc1\u5e02\nWorld|Asia|China|\u6c5f\u82cf\u7701|\u5e38\u5dde\u5e02\nWorld|Asia|China|\u6c5f\u82cf\u7701|\u5f90\u5dde\u5e02\nWorld|Asia|China|\u6c5f\u82cf\u7701|\u626c\u5dde\u5e02\nWorld|Asia|China|\u6c5f\u82cf\u7701|\u65e0\u9521\u5e02\nWorld|Asia|China|\u6c5f\u82cf\u7701|\u6cf0\u5dde\u5e02\nWorld|Asia|China|\u6c5f\u82cf\u7701|\u6dee\u5b89\u5e02\nWorld|Asia|China|\u6c5f\u82cf\u7701|\u76d0\u57ce\u5e02\nWorld|Asia|China|\u6c5f\u82cf\u7701|\u82cf\u5dde\u5e02\nWorld|Asia|China|\u6c5f\u82cf\u7701|\u8fde\u4e91\u6e2f\u5e02\nWorld|Asia|China|\u6c5f\u82cf\u7701|\u9547\u6c5f\u5e02\nWorld|Asia|China|\u6c5f\u897f\u7701|\u4e0a\u9976\u5e02\nWorld|Asia|China|\u6c5f\u897f\u7701|\u4e5d\u6c5f\u5e02\nWorld|Asia|China|\u6c5f\u897f\u7701|\u5357\u660c\u5e02\nWorld|Asia|China|\u6c5f\u897f\u7701|\u5409\u5b89\u5e02\nWorld|Asia|China|\u6c5f\u897f\u7701|\u5b9c\u6625\u5e02\nWorld|Asia|China|\u6c5f\u897f\u7701|\u629a\u5dde\u5e02\nWorld|Asia|China|\u6c5f\u897f\u7701|\u65b0\u4f59\u5e02\nWorld|Asia|China|\u6c5f\u897f\u7701|\u666f\u5fb7\u9547\u5e02\nWorld|Asia|China|\u6c5f\u897f\u7701|\u840d\u4e61\u5e02\nWorld|Asia|China|\u6c5f\u897f\u7701|\u8d63\u5dde\u5e02\nWorld|Asia|China|\u6c5f\u897f\u7701|\u9e70\u6f6d\u5e02\nWorld|Asia|China|\u6cb3\u5317\u7701|\u4fdd\u5b9a\u5e02\nWorld|Asia|China|\u6cb3\u5317\u7701|\u5510\u5c71\u5e02\nWorld|Asia|China|\u6cb3\u5317\u7701|\u5eca\u574a\u5e02\nWorld|Asia|China|\u6cb3\u5317\u7701|\u5f20\u5bb6\u53e3\u5e02\nWorld|Asia|China|\u6cb3\u5317\u7701|\u627f\u5fb7\u5e02\nWorld|Asia|China|\u6cb3\u5317\u7701|\u6ca7\u5dde\u5e02\nWorld|Asia|China|\u6cb3\u5317\u7701|\u77f3\u5bb6\u5e84\u5e02\nWorld|Asia|China|\u6cb3\u5317\u7701|\u79e6\u7687\u5c9b\u5e02\nWorld|Asia|China|\u6cb3\u5317\u7701|\u8861\u6c34\u5e02\nWorld|Asia|China|\u6cb3\u5317\u7701|\u90a2\u53f0\u5e02\nWorld|Asia|China|\u6cb3\u5317\u7701|\u90af\u90f8\u5e02\nWorld|Asia|China|\u6cb3\u5357\u7701|\u4e09\u95e8\u5ce1\u5e02\nWorld|Asia|China|\u6cb3\u5357\u7701|\u4fe1\u9633\u5e02\nWorld|Asia|China|\u6cb3\u5357\u7701|\u5357\u9633\u5e02\nWorld|Asia|China|\u6cb3\u5357\u7701|\u5468\u53e3\u5e02\nWorld|Asia|China|\u6cb3\u5357\u7701|\u5546\u4e18\u5e02\nWorld|Asia|China|\u6cb3\u5357\u7701|\u5b89\u9633\u5e02\nWorld|Asia|China|\u6cb3\u5357\u7701|\u5e73\u9876\u5c71\u5e02\nWorld|Asia|China|\u6cb3\u5357\u7701|\u5f00\u5c01\u5e02\nWorld|Asia|China|\u6cb3\u5357\u7701|\u65b0\u4e61\u5e02\nWorld|Asia|China|\u6cb3\u5357\u7701|\u6d1b\u9633\u5e02\nWorld|Asia|China|\u6cb3\u5357\u7701|\u6f2f\u6cb3\u5e02\nWorld|Asia|China|\u6cb3\u5357\u7701|\u6fee\u9633\u5e02\nWorld|Asia|China|\u6cb3\u5357\u7701|\u7126\u4f5c\u5e02\nWorld|Asia|China|\u6cb3\u5357\u7701|\u8bb8\u660c\u5e02\nWorld|Asia|China|\u6cb3\u5357\u7701|\u90d1\u5dde\u5e02\nWorld|Asia|China|\u6cb3\u5357\u7701|\u9a7b\u9a6c\u5e97\u5e02\nWorld|Asia|China|\u6cb3\u5357\u7701|\u9e64\u58c1\u5e02\nWorld|Asia|China|\u6d59\u6c5f\u7701|\u4e3d\u6c34\u5e02\nWorld|Asia|China|\u6d59\u6c5f\u7701|\u53f0\u5dde\u5e02\nWorld|Asia|China|\u6d59\u6c5f\u7701|\u5609\u5174\u5e02\nWorld|Asia|China|\u6d59\u6c5f\u7701|\u5b81\u6ce2\u5e02\nWorld|Asia|China|\u6d59\u6c5f\u7701|\u676d\u5dde\u5e02\nWorld|Asia|China|\u6d59\u6c5f\u7701|\u6e29\u5dde\u5e02\nWorld|Asia|China|\u6d59\u6c5f\u7701|\u6e56\u5dde\u5e02\nWorld|Asia|China|\u6d59\u6c5f\u7701|\u7ecd\u5174\u5e02\nWorld|Asia|China|\u6d59\u6c5f\u7701|\u821f\u5c71\u5e02\nWorld|Asia|China|\u6d59\u6c5f\u7701|\u8862\u5dde\u5e02\nWorld|Asia|China|\u6d59\u6c5f\u7701|\u91d1\u534e\u5e02\nWorld|Asia|China|\u6d77\u5357\u7701|\u4e09\u4e9a\u5e02\nWorld|Asia|China|\u6d77\u5357\u7701|\u6d77\u53e3\u5e02\nWorld|Asia|China|\u6e56\u5317\u7701|\u5341\u5830\u5e02\nWorld|Asia|China|\u6e56\u5317\u7701|\u54b8\u5b81\u5e02\nWorld|Asia|China|\u6e56\u5317\u7701|\u5b5d\u611f\u5e02\nWorld|Asia|China|\u6e56\u5317\u7701|\u5b9c\u660c\u5e02\nWorld|Asia|China|\u6e56\u5317\u7701|\u6069\u65bd\u571f\u5bb6\u65cf\u82d7\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u6e56\u5317\u7701|\u6b66\u6c49\u5e02\nWorld|Asia|China|\u6e56\u5317\u7701|\u795e\u519c\u67b6\nWorld|Asia|China|\u6e56\u5317\u7701|\u8346\u5dde\u5e02\nWorld|Asia|China|\u6e56\u5317\u7701|\u8346\u95e8\u5e02\nWorld|Asia|China|\u6e56\u5317\u7701|\u8944\u6a0a\u5e02\nWorld|Asia|China|\u6e56\u5317\u7701|\u9102\u5dde\u5e02\nWorld|Asia|China|\u6e56\u5317\u7701|\u968f\u5dde\u5e02\nWorld|Asia|China|\u6e56\u5317\u7701|\u9ec4\u5188\u5e02\nWorld|Asia|China|\u6e56\u5317\u7701|\u9ec4\u77f3\u5e02\nWorld|Asia|China|\u6e56\u5357\u7701|\u5a04\u5e95\u5e02\nWorld|Asia|China|\u6e56\u5357\u7701|\u5cb3\u9633\u5e02\nWorld|Asia|China|\u6e56\u5357\u7701|\u5e38\u5fb7\u5e02\nWorld|Asia|China|\u6e56\u5357\u7701|\u5f20\u5bb6\u754c\u5e02\nWorld|Asia|China|\u6e56\u5357\u7701|\u6000\u5316\u5e02\nWorld|Asia|China|\u6e56\u5357\u7701|\u682a\u6d32\u5e02\nWorld|Asia|China|\u6e56\u5357\u7701|\u6c38\u5dde\u5e02\nWorld|Asia|China|\u6e56\u5357\u7701|\u6e58\u6f6d\u5e02\nWorld|Asia|China|\u6e56\u5357\u7701|\u6e58\u897f\u571f\u5bb6\u65cf\u82d7\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u6e56\u5357\u7701|\u76ca\u9633\u5e02\nWorld|Asia|China|\u6e56\u5357\u7701|\u8861\u9633\u5e02\nWorld|Asia|China|\u6e56\u5357\u7701|\u90b5\u9633\u5e02\nWorld|Asia|China|\u6e56\u5357\u7701|\u90f4\u5dde\u5e02\nWorld|Asia|China|\u6e56\u5357\u7701|\u957f\u6c99\u5e02\nWorld|Asia|China|\u6fb3\u95e8\u7279\u522b\u884c\u653f\u533a|\u6fb3\u95e8\u7279\u522b\u884c\u653f\u533a\nWorld|Asia|China|\u7518\u8083\u7701|\u4e34\u590f\u56de\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u7518\u8083\u7701|\u5170\u5dde\u5e02\nWorld|Asia|China|\u7518\u8083\u7701|\u5609\u5cea\u5173\u5e02\nWorld|Asia|China|\u7518\u8083\u7701|\u5929\u6c34\u5e02\nWorld|Asia|China|\u7518\u8083\u7701|\u5b9a\u897f\u5e02\nWorld|Asia|China|\u7518\u8083\u7701|\u5e73\u51c9\u5e02\nWorld|Asia|China|\u7518\u8083\u7701|\u5e86\u9633\u5e02\nWorld|Asia|China|\u7518\u8083\u7701|\u5f20\u6396\u5e02\nWorld|Asia|China|\u7518\u8083\u7701|\u6b66\u5a01\u5e02\nWorld|Asia|China|\u7518\u8083\u7701|\u7518\u5357\u85cf\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u7518\u8083\u7701|\u767d\u94f6\u5e02\nWorld|Asia|China|\u7518\u8083\u7701|\u9152\u6cc9\u5e02\nWorld|Asia|China|\u7518\u8083\u7701|\u91d1\u660c\u5e02\nWorld|Asia|China|\u7518\u8083\u7701|\u9647\u5357\u5e02\nWorld|Asia|China|\u798f\u5efa\u7701|\u4e09\u660e\u5e02\nWorld|Asia|China|\u798f\u5efa\u7701|\u5357\u5e73\u5e02\nWorld|Asia|China|\u798f\u5efa\u7701|\u53a6\u95e8\u5e02\nWorld|Asia|China|\u798f\u5efa\u7701|\u5b81\u5fb7\u5e02\nWorld|Asia|China|\u798f\u5efa\u7701|\u6cc9\u5dde\u5e02\nWorld|Asia|China|\u798f\u5efa\u7701|\u6f33\u5dde\u5e02\nWorld|Asia|China|\u798f\u5efa\u7701|\u798f\u5dde\u5e02\nWorld|Asia|China|\u798f\u5efa\u7701|\u8386\u7530\u5e02\nWorld|Asia|China|\u798f\u5efa\u7701|\u9f99\u5ca9\u5e02\nWorld|Asia|China|\u897f\u85cf\u81ea\u6cbb\u533a|\u5c71\u5357\u5730\u533a\nWorld|Asia|China|\u897f\u85cf\u81ea\u6cbb\u533a|\u62c9\u8428\u5e02\nWorld|Asia|China|\u897f\u85cf\u81ea\u6cbb\u533a|\u65e5\u5580\u5219\u5730\u533a\nWorld|Asia|China|\u897f\u85cf\u81ea\u6cbb\u533a|\u660c\u90fd\u5730\u533a\nWorld|Asia|China|\u897f\u85cf\u81ea\u6cbb\u533a|\u6797\u829d\u5730\u533a\nWorld|Asia|China|\u897f\u85cf\u81ea\u6cbb\u533a|\u90a3\u66f2\u5730\u533a\nWorld|Asia|China|\u897f\u85cf\u81ea\u6cbb\u533a|\u963f\u91cc\u5730\u533a\nWorld|Asia|China|\u8d35\u5dde\u7701|\u516d\u76d8\u6c34\u5e02\nWorld|Asia|China|\u8d35\u5dde\u7701|\u5b89\u987a\u5e02\nWorld|Asia|China|\u8d35\u5dde\u7701|\u6bd5\u8282\u5730\u533a\nWorld|Asia|China|\u8d35\u5dde\u7701|\u8d35\u9633\u5e02\nWorld|Asia|China|\u8d35\u5dde\u7701|\u9075\u4e49\u5e02\nWorld|Asia|China|\u8d35\u5dde\u7701|\u94dc\u4ec1\u5730\u533a\nWorld|Asia|China|\u8d35\u5dde\u7701|\u9ed4\u4e1c\u5357\u82d7\u65cf\u4f97\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u8d35\u5dde\u7701|\u9ed4\u5357\u5e03\u4f9d\u65cf\u82d7\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u8d35\u5dde\u7701|\u9ed4\u897f\u5357\u5e03\u4f9d\u65cf\u82d7\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u8fbd\u5b81\u7701|\u4e39\u4e1c\u5e02\nWorld|Asia|China|\u8fbd\u5b81\u7701|\u5927\u8fde\u5e02\nWorld|Asia|China|\u8fbd\u5b81\u7701|\u629a\u987a\u5e02\nWorld|Asia|China|\u8fbd\u5b81\u7701|\u671d\u9633\u5e02\nWorld|Asia|China|\u8fbd\u5b81\u7701|\u672c\u6eaa\u5e02\nWorld|Asia|China|\u8fbd\u5b81\u7701|\u6c88\u9633\u5e02\nWorld|Asia|China|\u8fbd\u5b81\u7701|\u76d8\u9526\u5e02\nWorld|Asia|China|\u8fbd\u5b81\u7701|\u8425\u53e3\u5e02\nWorld|Asia|China|\u8fbd\u5b81\u7701|\u846b\u82a6\u5c9b\u5e02\nWorld|Asia|China|\u8fbd\u5b81\u7701|\u8fbd\u9633\u5e02\nWorld|Asia|China|\u8fbd\u5b81\u7701|\u94c1\u5cad\u5e02\nWorld|Asia|China|\u8fbd\u5b81\u7701|\u9526\u5dde\u5e02\nWorld|Asia|China|\u8fbd\u5b81\u7701|\u961c\u65b0\u5e02\nWorld|Asia|China|\u8fbd\u5b81\u7701|\u978d\u5c71\u5e02\nWorld|Asia|China|\u91cd\u5e86\u5e02|\u91cd\u5e86\u5e02\nWorld|Asia|China|\u9655\u897f\u7701|\u54b8\u9633\u5e02\nWorld|Asia|China|\u9655\u897f\u7701|\u5546\u6d1b\u5e02\nWorld|Asia|China|\u9655\u897f\u7701|\u5b89\u5eb7\u5e02\nWorld|Asia|China|\u9655\u897f\u7701|\u5b9d\u9e21\u5e02\nWorld|Asia|China|\u9655\u897f\u7701|\u5ef6\u5b89\u5e02\nWorld|Asia|China|\u9655\u897f\u7701|\u6986\u6797\u5e02\nWorld|Asia|China|\u9655\u897f\u7701|\u6c49\u4e2d\u5e02\nWorld|Asia|China|\u9655\u897f\u7701|\u6e2d\u5357\u5e02\nWorld|Asia|China|\u9655\u897f\u7701|\u897f\u5b89\u5e02\nWorld|Asia|China|\u9655\u897f\u7701|\u94dc\u5ddd\u5e02\nWorld|Asia|China|\u9752\u6d77\u7701|\u679c\u6d1b\u85cf\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u9752\u6d77\u7701|\u6d77\u4e1c\u5730\u533a\nWorld|Asia|China|\u9752\u6d77\u7701|\u6d77\u5317\u85cf\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u9752\u6d77\u7701|\u6d77\u5357\u85cf\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u9752\u6d77\u7701|\u6d77\u897f\u8499\u53e4\u65cf\u85cf\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u9752\u6d77\u7701|\u7389\u6811\u85cf\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u9752\u6d77\u7701|\u897f\u5b81\u5e02\nWorld|Asia|China|\u9752\u6d77\u7701|\u9ec4\u5357\u85cf\u65cf\u81ea\u6cbb\u5dde\nWorld|Asia|China|\u9ed1\u9f99\u6c5f\u7701|\u4e03\u53f0\u6cb3\u5e02\nWorld|Asia|China|\u9ed1\u9f99\u6c5f\u7701|\u4f0a\u6625\u5e02\nWorld|Asia|China|\u9ed1\u9f99\u6c5f\u7701|\u4f73\u6728\u65af\u5e02\nWorld|Asia|China|\u9ed1\u9f99\u6c5f\u7701|\u53cc\u9e2d\u5c71\u5e02\nWorld|Asia|China|\u9ed1\u9f99\u6c5f\u7701|\u54c8\u5c14\u6ee8\u5e02\nWorld|Asia|China|\u9ed1\u9f99\u6c5f\u7701|\u5927\u5174\u5b89\u5cad\u5730\u533a\nWorld|Asia|China|\u9ed1\u9f99\u6c5f\u7701|\u5927\u5e86\u5e02\nWorld|Asia|China|\u9ed1\u9f99\u6c5f\u7701|\u7261\u4e39\u6c5f\u5e02\nWorld|Asia|China|\u9ed1\u9f99\u6c5f\u7701|\u7ee5\u5316\u5e02\nWorld|Asia|China|\u9ed1\u9f99\u6c5f\u7701|\u9e21\u897f\u5e02\nWorld|Asia|China|\u9ed1\u9f99\u6c5f\u7701|\u9e64\u5c97\u5e02\nWorld|Asia|China|\u9ed1\u9f99\u6c5f\u7701|\u9ed1\u6cb3\u5e02\nWorld|Asia|China|\u9ed1\u9f99\u6c5f\u7701|\u9f50\u9f50\u54c8\u5c14\u5e02\n
"},{"location":"club/competition-tool/zones/03-europe/","title":"Europe","text":"

Warning

This section contains the list of available zones to be used for creating competitions. It may be incomplete.

World|Europe|Albania\nWorld|Europe|Andorra\nWorld|Europe|Austria\nWorld|Europe|Belarus\nWorld|Europe|Belgium\nWorld|Europe|Bosnia and Herzegovina\nWorld|Europe|Bulgaria\nWorld|Europe|Croatia\nWorld|Europe|Cyprus\nWorld|Europe|Czechia\nWorld|Europe|Denmark\nWorld|Europe|Estonia\nWorld|Europe|Finland\nWorld|Europe|France\nWorld|Europe|Germany\nWorld|Europe|Greece\nWorld|Europe|Hungary\nWorld|Europe|Iceland\nWorld|Europe|Ireland\nWorld|Europe|Italy\nWorld|Europe|Latvia\nWorld|Europe|Liechtenstein\nWorld|Europe|Lithuania\nWorld|Europe|Luxembourg\nWorld|Europe|Malta\nWorld|Europe|Moldova\nWorld|Europe|Monaco\nWorld|Europe|Montenegro\nWorld|Europe|Netherlands\nWorld|Europe|North Macedonia\nWorld|Europe|Norway\nWorld|Europe|Poland\nWorld|Europe|Portugal\nWorld|Europe|Romania\nWorld|Europe|Russia\nWorld|Europe|San Marino\nWorld|Europe|Serbia\nWorld|Europe|Slovakia\nWorld|Europe|Slovenia\nWorld|Europe|Spain\nWorld|Europe|Sweden\nWorld|Europe|Switzerland\nWorld|Europe|Turkey\nWorld|Europe|Ukraine\nWorld|Europe|United Kingdom\n
"},{"location":"club/competition-tool/zones/03-europe/#austria","title":"Austria","text":"
World|Europe|Austria|Burgenland\nWorld|Europe|Austria|Carinthia\nWorld|Europe|Austria|Lower Austria\nWorld|Europe|Austria|Salzburg\nWorld|Europe|Austria|Styria\nWorld|Europe|Austria|Tyrol\nWorld|Europe|Austria|Upper Austria\nWorld|Europe|Austria|Vienna\nWorld|Europe|Austria|Vorarlberg\n
"},{"location":"club/competition-tool/zones/03-europe/#belgium","title":"Belgium","text":"
World|Europe|Belgium|Antwerpen\nWorld|Europe|Belgium|Brabant Wallon\nWorld|Europe|Belgium|Brussel Bruxelles\nWorld|Europe|Belgium|Hainaut\nWorld|Europe|Belgium|Limburg\nWorld|Europe|Belgium|Li\u00e8ge\nWorld|Europe|Belgium|Luxemburg\nWorld|Europe|Belgium|Namur\nWorld|Europe|Belgium|Oost-Vlaanderen\nWorld|Europe|Belgium|Vlaams-Brabant\nWorld|Europe|Belgium|West-Vlaanderen\n
"},{"location":"club/competition-tool/zones/03-europe/#czechia","title":"Czechia","text":"
World|Europe|Czechia|Jihocesk\u00fd kraj\nWorld|Europe|Czechia|Jihomoravsk\u00fd kraj\nWorld|Europe|Czechia|Karlovarsk\u00fd kraj\nWorld|Europe|Czechia|Kraj Vyso\u010dina\nWorld|Europe|Czechia|Kr\u00e1lov\u00e9hradeck\u00fd kraj\nWorld|Europe|Czechia|Libereck\u00fd kraj\nWorld|Europe|Czechia|Moravskoslezsk\u00fd kraj\nWorld|Europe|Czechia|Olomouck\u00fd kraj\nWorld|Europe|Czechia|Pardubick\u00fd kraj\nWorld|Europe|Czechia|Plze\u0148sk\u00fd kraj\nWorld|Europe|Czechia|Praha\nWorld|Europe|Czechia|St\u0159edo\u010desk\u00fd kraj\nWorld|Europe|Czechia|Usteck\u00fd kraj\nWorld|Europe|Czechia|Zl\u00ednsk\u00fd kraj\n
"},{"location":"club/competition-tool/zones/03-europe/#france","title":"France","text":"
World|Europe|France|Auvergne-Rh\u00f4ne-Alpes\nWorld|Europe|France|Bourgogne-Franche-Comt\u00e9\nWorld|Europe|France|Bretagne\nWorld|Europe|France|Centre-Val de Loire\nWorld|Europe|France|Corsica\nWorld|Europe|France|Grand Est\nWorld|Europe|France|Hauts-de-France\nWorld|Europe|France|Normandie\nWorld|Europe|France|Nouvelle-Aquitaine\nWorld|Europe|France|Occitanie\nWorld|Europe|France|Outre-mer\nWorld|Europe|France|Pays-de-la-Loire\nWorld|Europe|France|Provence-Alpes-C\u00f4te d'Azur\nWorld|Europe|France|\u00cele-de-France\n
"},{"location":"club/competition-tool/zones/03-europe/#auvergne-rhone-alpes","title":"Auvergne-Rh\u00f4ne-Alpes","text":"
World|Europe|France|Auvergne-Rh\u00f4ne-Alpes|Ain\nWorld|Europe|France|Auvergne-Rh\u00f4ne-Alpes|Allier\nWorld|Europe|France|Auvergne-Rh\u00f4ne-Alpes|Ard\u00e8che\nWorld|Europe|France|Auvergne-Rh\u00f4ne-Alpes|Cantal\nWorld|Europe|France|Auvergne-Rh\u00f4ne-Alpes|Dr\u00f4me\nWorld|Europe|France|Auvergne-Rh\u00f4ne-Alpes|Haute-Loire\nWorld|Europe|France|Auvergne-Rh\u00f4ne-Alpes|Haute-Savoie\nWorld|Europe|France|Auvergne-Rh\u00f4ne-Alpes|Is\u00e8re\nWorld|Europe|France|Auvergne-Rh\u00f4ne-Alpes|Loire\nWorld|Europe|France|Auvergne-Rh\u00f4ne-Alpes|Puy-de-D\u00f4me\nWorld|Europe|France|Auvergne-Rh\u00f4ne-Alpes|Rh\u00f4ne\nWorld|Europe|France|Auvergne-Rh\u00f4ne-Alpes|Savoie\n
"},{"location":"club/competition-tool/zones/03-europe/#bourgogne-franche-comte","title":"Bourgogne-Franche-Comt\u00e9","text":"
World|Europe|France|Bourgogne-Franche-Comt\u00e9|C\u00f4te-d'Or\nWorld|Europe|France|Bourgogne-Franche-Comt\u00e9|Doubs\nWorld|Europe|France|Bourgogne-Franche-Comt\u00e9|Haute-Sa\u00f4ne\nWorld|Europe|France|Bourgogne-Franche-Comt\u00e9|Jura\nWorld|Europe|France|Bourgogne-Franche-Comt\u00e9|Ni\u00e8vre\nWorld|Europe|France|Bourgogne-Franche-Comt\u00e9|Sa\u00f4ne-et-Loire\nWorld|Europe|France|Bourgogne-Franche-Comt\u00e9|Territoire de Belfort\nWorld|Europe|France|Bourgogne-Franche-Comt\u00e9|Yonne\n
"},{"location":"club/competition-tool/zones/03-europe/#bretagne","title":"Bretagne","text":"
World|Europe|France|Bretagne|C\u00f4tes-d'Armor\nWorld|Europe|France|Bretagne|Finist\u00e8re\nWorld|Europe|France|Bretagne|Ille-et-Vilaine\nWorld|Europe|France|Bretagne|Morbihan\n
"},{"location":"club/competition-tool/zones/03-europe/#centre-val-de-loire","title":"Centre-Val de Loire","text":"
World|Europe|France|Centre-Val de Loire|Cher\nWorld|Europe|France|Centre-Val de Loire|Eure-et-Loir\nWorld|Europe|France|Centre-Val de Loire|Indre\nWorld|Europe|France|Centre-Val de Loire|Indre-et-Loire\nWorld|Europe|France|Centre-Val de Loire|Loir-et-Cher\nWorld|Europe|France|Centre-Val de Loire|Loiret\n
"},{"location":"club/competition-tool/zones/03-europe/#corsica","title":"Corsica","text":"
World|Europe|France|Corsica|Corse-du-Sud\nWorld|Europe|France|Corsica|Haute-Corse\n
"},{"location":"club/competition-tool/zones/03-europe/#grand-est","title":"Grand Est","text":"
World|Europe|France|Grand Est|Ardennes\nWorld|Europe|France|Grand Est|Aube\nWorld|Europe|France|Grand Est|Bas-Rhin\nWorld|Europe|France|Grand Est|Haut-Rhin\nWorld|Europe|France|Grand Est|Haute-Marne\nWorld|Europe|France|Grand Est|Marne\nWorld|Europe|France|Grand Est|Meurthe-et-Moselle\nWorld|Europe|France|Grand Est|Meuse\nWorld|Europe|France|Grand Est|Moselle\nWorld|Europe|France|Grand Est|Vosges\n
"},{"location":"club/competition-tool/zones/03-europe/#hauts-de-france","title":"Hauts-de-France","text":"
World|Europe|France|Hauts-de-France|Aisne\nWorld|Europe|France|Hauts-de-France|Nord\nWorld|Europe|France|Hauts-de-France|Oise\nWorld|Europe|France|Hauts-de-France|Pas-de-Calais\nWorld|Europe|France|Hauts-de-France|Somme\n
"},{"location":"club/competition-tool/zones/03-europe/#normandie","title":"Normandie","text":"
World|Europe|France|Normandie|Calvados\nWorld|Europe|France|Normandie|Eure\nWorld|Europe|France|Normandie|Manche\nWorld|Europe|France|Normandie|Orne\nWorld|Europe|France|Normandie|Seine-Maritime\n
"},{"location":"club/competition-tool/zones/03-europe/#nouvelle-aquitaine","title":"Nouvelle-Aquitaine","text":"
World|Europe|France|Nouvelle-Aquitaine|Charente\nWorld|Europe|France|Nouvelle-Aquitaine|Charente-Maritime\nWorld|Europe|France|Nouvelle-Aquitaine|Corr\u00e8ze\nWorld|Europe|France|Nouvelle-Aquitaine|Creuse\nWorld|Europe|France|Nouvelle-Aquitaine|Deux-S\u00e8vres\nWorld|Europe|France|Nouvelle-Aquitaine|Dordogne\nWorld|Europe|France|Nouvelle-Aquitaine|Gironde\nWorld|Europe|France|Nouvelle-Aquitaine|Haute-Vienne\nWorld|Europe|France|Nouvelle-Aquitaine|Landes\nWorld|Europe|France|Nouvelle-Aquitaine|Lot-et-Garonne\nWorld|Europe|France|Nouvelle-Aquitaine|Pyr\u00e9n\u00e9es-Atlantiques\nWorld|Europe|France|Nouvelle-Aquitaine|Vienne\n
"},{"location":"club/competition-tool/zones/03-europe/#occitanie","title":"Occitanie","text":"
World|Europe|France|Occitanie|Ari\u00e8ge\nWorld|Europe|France|Occitanie|Aude\nWorld|Europe|France|Occitanie|Aveyron\nWorld|Europe|France|Occitanie|Gard\nWorld|Europe|France|Occitanie|Gers\nWorld|Europe|France|Occitanie|Haute-Garonne\nWorld|Europe|France|Occitanie|Hautes-Pyr\u00e9n\u00e9es\nWorld|Europe|France|Occitanie|H\u00e9rault\nWorld|Europe|France|Occitanie|Lot\nWorld|Europe|France|Occitanie|Loz\u00e8re\nWorld|Europe|France|Occitanie|Pyr\u00e9n\u00e9es-Orientales\nWorld|Europe|France|Occitanie|Tarn\nWorld|Europe|France|Occitanie|Tarn-et-Garonne\n
"},{"location":"club/competition-tool/zones/03-europe/#outre-mer","title":"Outre-mer","text":"
World|Europe|France|Outre-mer|Guadeloupe\nWorld|Europe|France|Outre-mer|Guyane\nWorld|Europe|France|Outre-mer|Martinique\nWorld|Europe|France|Outre-mer|Mayotte\nWorld|Europe|France|Outre-mer|Nouvelle-Cal\u00e9donie\nWorld|Europe|France|Outre-mer|Polyn\u00e9sie fran\u00e7aise\nWorld|Europe|France|Outre-mer|R\u00e9union\nWorld|Europe|France|Outre-mer|Saint-Barth\u00e9lemy\nWorld|Europe|France|Outre-mer|Saint-Martin\nWorld|Europe|France|Outre-mer|Saint-Pierre-et-Miquelon\nWorld|Europe|France|Outre-mer|Wallis-et-Futuna\n
"},{"location":"club/competition-tool/zones/03-europe/#pays-de-la-loire","title":"Pays-de-la-Loire","text":"
World|Europe|France|Pays-de-la-Loire|Loire-Atlantique\nWorld|Europe|France|Pays-de-la-Loire|Maine-et-Loire\nWorld|Europe|France|Pays-de-la-Loire|Mayenne\nWorld|Europe|France|Pays-de-la-Loire|Sarthe\nWorld|Europe|France|Pays-de-la-Loire|Vend\u00e9e\n
"},{"location":"club/competition-tool/zones/03-europe/#provence-alpes-cote-dazur","title":"Provence-Alpes-C\u00f4te d'Azur","text":"
World|Europe|France|Provence-Alpes-C\u00f4te d'Azur|Alpes-Maritimes\nWorld|Europe|France|Provence-Alpes-C\u00f4te d'Azur|Alpes-de-Haute-Provence\nWorld|Europe|France|Provence-Alpes-C\u00f4te d'Azur|Bouches-du-Rh\u00f4ne\nWorld|Europe|France|Provence-Alpes-C\u00f4te d'Azur|Hautes-Alpes\nWorld|Europe|France|Provence-Alpes-C\u00f4te d'Azur|Var\nWorld|Europe|France|Provence-Alpes-C\u00f4te d'Azur|Vaucluse\n
"},{"location":"club/competition-tool/zones/03-europe/#ile-de-france","title":"\u00cele-de-France","text":"
World|Europe|France|\u00cele-de-France|Essonne\nWorld|Europe|France|\u00cele-de-France|Hauts-de-Seine\nWorld|Europe|France|\u00cele-de-France|Paris\nWorld|Europe|France|\u00cele-de-France|Seine-Saint-Denis\nWorld|Europe|France|\u00cele-de-France|Seine-et-Marne\nWorld|Europe|France|\u00cele-de-France|Val-d'Oise\nWorld|Europe|France|\u00cele-de-France|Val-de-Marne\nWorld|Europe|France|\u00cele-de-France|Yvelines\n
"},{"location":"club/competition-tool/zones/03-europe/#germany","title":"Germany","text":"
World|Europe|Germany|Baden-W\u00fcrttemberg\nWorld|Europe|Germany|Bayern\nWorld|Europe|Germany|Berlin\nWorld|Europe|Germany|Brandenburg\nWorld|Europe|Germany|Bremen\nWorld|Europe|Germany|Hamburg\nWorld|Europe|Germany|Hessen\nWorld|Europe|Germany|Mecklenburg-Vorpommern\nWorld|Europe|Germany|Niedersachsen\nWorld|Europe|Germany|Nordrhein-Westfalen\nWorld|Europe|Germany|Rheinland-Pfalz\nWorld|Europe|Germany|Saarland\nWorld|Europe|Germany|Sachsen\nWorld|Europe|Germany|Sachsen-Anhalt\nWorld|Europe|Germany|Schleswig-Holstein\nWorld|Europe|Germany|Th\u00fcringen\n
"},{"location":"club/competition-tool/zones/03-europe/#baden-wurttemberg","title":"Baden-W\u00fcrttemberg","text":"
World|Europe|Germany|Baden-W\u00fcrttemberg|Heidelberg\nWorld|Europe|Germany|Baden-W\u00fcrttemberg|Karlsruhe\nWorld|Europe|Germany|Baden-W\u00fcrttemberg|Mannheim\nWorld|Europe|Germany|Baden-W\u00fcrttemberg|Stuttgart\n
"},{"location":"club/competition-tool/zones/03-europe/#bayern","title":"Bayern","text":"
World|Europe|Germany|Bayern|Augsburg\nWorld|Europe|Germany|Bayern|Bad T\u00f6lz\nWorld|Europe|Germany|Bayern|M\u00fcnchen\nWorld|Europe|Germany|Bayern|N\u00fcrnberg\nWorld|Europe|Germany|Bayern|Passau\nWorld|Europe|Germany|Bayern|Regensburg\n
"},{"location":"club/competition-tool/zones/03-europe/#brandenburg","title":"Brandenburg","text":"
World|Europe|Germany|Brandenburg|Potsdam\n
"},{"location":"club/competition-tool/zones/03-europe/#hessen","title":"Hessen","text":"
World|Europe|Germany|Hessen|Darmstadt\nWorld|Europe|Germany|Hessen|Frankfurt\nWorld|Europe|Germany|Hessen|Giessen\nWorld|Europe|Germany|Hessen|Kassel\nWorld|Europe|Germany|Hessen|Offenbach\nWorld|Europe|Germany|Hessen|Wiesbaden\n
"},{"location":"club/competition-tool/zones/03-europe/#mecklenburg-vorpommern","title":"Mecklenburg-Vorpommern","text":"
World|Europe|Germany|Mecklenburg-Vorpommern|Rostock\nWorld|Europe|Germany|Mecklenburg-Vorpommern|Schwerin\n
"},{"location":"club/competition-tool/zones/03-europe/#niedersachsen","title":"Niedersachsen","text":"
World|Europe|Germany|Niedersachsen|Braunschweig\nWorld|Europe|Germany|Niedersachsen|Hannover\nWorld|Europe|Germany|Niedersachsen|Oldenburg\nWorld|Europe|Germany|Niedersachsen|Osnabr\u00fcck\nWorld|Europe|Germany|Niedersachsen|Wolfsburg\n
"},{"location":"club/competition-tool/zones/03-europe/#nordrhein-westfalen","title":"Nordrhein-Westfalen","text":"
World|Europe|Germany|Nordrhein-Westfalen|Aachen\nWorld|Europe|Germany|Nordrhein-Westfalen|Bochum\nWorld|Europe|Germany|Nordrhein-Westfalen|Bonn\nWorld|Europe|Germany|Nordrhein-Westfalen|Dortmund\nWorld|Europe|Germany|Nordrhein-Westfalen|Duisburg\nWorld|Europe|Germany|Nordrhein-Westfalen|D\u00fcsseldorf\nWorld|Europe|Germany|Nordrhein-Westfalen|Essen\nWorld|Europe|Germany|Nordrhein-Westfalen|K\u00f6ln\nWorld|Europe|Germany|Nordrhein-Westfalen|Wuppertal\n
"},{"location":"club/competition-tool/zones/03-europe/#rheinland-pfalz","title":"Rheinland-Pfalz","text":"
World|Europe|Germany|Rheinland-Pfalz|Kaiserslautern\nWorld|Europe|Germany|Rheinland-Pfalz|Koblenz\nWorld|Europe|Germany|Rheinland-Pfalz|Mainz\nWorld|Europe|Germany|Rheinland-Pfalz|Trier\n
"},{"location":"club/competition-tool/zones/03-europe/#saarland","title":"Saarland","text":"
World|Europe|Germany|Saarland|Saarbr\u00fccken\n
"},{"location":"club/competition-tool/zones/03-europe/#sachsen-anhalt","title":"Sachsen-Anhalt","text":"
World|Europe|Germany|Sachsen-Anhalt|Dessau\nWorld|Europe|Germany|Sachsen-Anhalt|Halle\nWorld|Europe|Germany|Sachsen-Anhalt|Magdeburg\n
"},{"location":"club/competition-tool/zones/03-europe/#sachsen","title":"Sachsen","text":"
World|Europe|Germany|Sachsen|Chemnitz\nWorld|Europe|Germany|Sachsen|Dresden\nWorld|Europe|Germany|Sachsen|Leipzig\n
"},{"location":"club/competition-tool/zones/03-europe/#schleswig-holstein","title":"Schleswig-Holstein","text":"
World|Europe|Germany|Schleswig-Holstein|Kiel\nWorld|Europe|Germany|Schleswig-Holstein|L\u00fcbeck\nWorld|Europe|Germany|Schleswig-Holstein|Neum\u00fcnster\n
"},{"location":"club/competition-tool/zones/03-europe/#thuringen","title":"Th\u00fcringen","text":"
World|Europe|Germany|Th\u00fcringen|Eisenach\nWorld|Europe|Germany|Th\u00fcringen|Erfurt\nWorld|Europe|Germany|Th\u00fcringen|Weimar\n
"},{"location":"club/competition-tool/zones/03-europe/#hungary","title":"Hungary","text":"
World|Europe|Hungary|Baranya\nWorld|Europe|Hungary|Borsod-Aba\u00faj-Zempl\u00e9n\nWorld|Europe|Hungary|Budapest\nWorld|Europe|Hungary|B\u00e1cs-Kiskun\nWorld|Europe|Hungary|B\u00e9k\u00e9s\nWorld|Europe|Hungary|Csongr\u00e1d\nWorld|Europe|Hungary|Fej\u00e9r\nWorld|Europe|Hungary|Gy\u00f5r-Moson-Sopron\nWorld|Europe|Hungary|Hajd\u00fa-Bihar\nWorld|Europe|Hungary|Heves\nWorld|Europe|Hungary|J\u00e1sz-Nagykun-Szolnok\nWorld|Europe|Hungary|Kom\u00e1rom-Esztergom\nWorld|Europe|Hungary|N\u00f3gr\u00e1d\nWorld|Europe|Hungary|Pest\nWorld|Europe|Hungary|Somogy\nWorld|Europe|Hungary|Szabolcs-Szatm\u00e1r-Bereg\nWorld|Europe|Hungary|Tolna\nWorld|Europe|Hungary|Vas\nWorld|Europe|Hungary|Veszpr\u00e9m\nWorld|Europe|Hungary|Zala\n
"},{"location":"club/competition-tool/zones/03-europe/#italy","title":"Italy","text":"
World|Europe|Italy|Abruzzo\nWorld|Europe|Italy|Basilicata\nWorld|Europe|Italy|Calabria\nWorld|Europe|Italy|Campania\nWorld|Europe|Italy|Emilia-Romagna\nWorld|Europe|Italy|Friuli-Venezia Giulia\nWorld|Europe|Italy|Lazio\nWorld|Europe|Italy|Liguria\nWorld|Europe|Italy|Lombardia\nWorld|Europe|Italy|Marche\nWorld|Europe|Italy|Molise\nWorld|Europe|Italy|Piemonte\nWorld|Europe|Italy|Puglia\nWorld|Europe|Italy|Sardegna\nWorld|Europe|Italy|Sicilia\nWorld|Europe|Italy|Toscana\nWorld|Europe|Italy|Trentino-Alto Adige\nWorld|Europe|Italy|Umbria\nWorld|Europe|Italy|Valle D-Aosta\nWorld|Europe|Italy|Veneto\n
"},{"location":"club/competition-tool/zones/03-europe/#netherlands","title":"Netherlands","text":"
World|Europe|Netherlands|Drenthe\nWorld|Europe|Netherlands|Flevoland\nWorld|Europe|Netherlands|Frysl\u00e2n\nWorld|Europe|Netherlands|Gelderland\nWorld|Europe|Netherlands|Groningen\nWorld|Europe|Netherlands|Limburg\nWorld|Europe|Netherlands|Noord-Brabant\nWorld|Europe|Netherlands|Noord-Holland\nWorld|Europe|Netherlands|Overijssel\nWorld|Europe|Netherlands|Utrecht\nWorld|Europe|Netherlands|Zeeland\nWorld|Europe|Netherlands|Zuid-Holland\n
"},{"location":"club/competition-tool/zones/03-europe/#poland","title":"Poland","text":"
World|Europe|Poland|Dolno\u015bl\u0105skie\nWorld|Europe|Poland|Kujawsko-Pomorskie\nWorld|Europe|Poland|Lubelskie\nWorld|Europe|Poland|Lubuskie\nWorld|Europe|Poland|Mazowieckie\nWorld|Europe|Poland|Ma\u0142opolskie\nWorld|Europe|Poland|Opolskie\nWorld|Europe|Poland|Podkarpackie\nWorld|Europe|Poland|Podlaskie\nWorld|Europe|Poland|Pomorskie\nWorld|Europe|Poland|Warmi\u0144sko-Mazurskie\nWorld|Europe|Poland|Wielkopolskie\nWorld|Europe|Poland|Zachodniopomorskie\nWorld|Europe|Poland|\u0141\u00f3dzkie\nWorld|Europe|Poland|\u015al\u0105skie\nWorld|Europe|Poland|\u015awi\u0119tokrzyskie\n
"},{"location":"club/competition-tool/zones/03-europe/#portugal","title":"Portugal","text":"
World|Europe|Portugal|Alentejo\nWorld|Europe|Portugal|Algarve\nWorld|Europe|Portugal|A\u00e7ores\nWorld|Europe|Portugal|Centro\nWorld|Europe|Portugal|Lisboa\nWorld|Europe|Portugal|Madeira\nWorld|Europe|Portugal|Norte\n
"},{"location":"club/competition-tool/zones/03-europe/#russia","title":"Russia","text":"
World|Europe|Russia|\u0414\u0430\u043b\u044c\u043d\u0435\u0432\u043e\u0441\u0442\u043e\u0447\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433\nWorld|Europe|Russia|\u041f\u0440\u0438\u0432\u043e\u043b\u0436\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433\nWorld|Europe|Russia|\u0421\u0435\u0432\u0435\u0440\u043e-\u0417\u0430\u043f\u0430\u0434\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433\nWorld|Europe|Russia|\u0421\u0435\u0432\u0435\u0440\u043e-\u041a\u0430\u0432\u043a\u0430\u0437\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433\nWorld|Europe|Russia|\u0421\u0438\u0431\u0438\u0440\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433\nWorld|Europe|Russia|\u0423\u0440\u0430\u043b\u044c\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433\nWorld|Europe|Russia|\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433\nWorld|Europe|Russia|\u042e\u0436\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433\n
"},{"location":"club/competition-tool/zones/03-europe/#_1","title":"\u0414\u0430\u043b\u044c\u043d\u0435\u0432\u043e\u0441\u0442\u043e\u0447\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433","text":"
World|Europe|Russia|\u0414\u0430\u043b\u044c\u043d\u0435\u0432\u043e\u0441\u0442\u043e\u0447\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0410\u043c\u0443\u0440\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0414\u0430\u043b\u044c\u043d\u0435\u0432\u043e\u0441\u0442\u043e\u0447\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0415\u0432\u0440\u0435\u0439\u0441\u043a\u0430\u044f \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0414\u0430\u043b\u044c\u043d\u0435\u0432\u043e\u0441\u0442\u043e\u0447\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0417\u0430\u0431\u0430\u0439\u043a\u0430\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439\nWorld|Europe|Russia|\u0414\u0430\u043b\u044c\u043d\u0435\u0432\u043e\u0441\u0442\u043e\u0447\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041a\u0430\u043c\u0447\u0430\u0442\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439\nWorld|Europe|Russia|\u0414\u0430\u043b\u044c\u043d\u0435\u0432\u043e\u0441\u0442\u043e\u0447\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041c\u0430\u0433\u0430\u0434\u0430\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0414\u0430\u043b\u044c\u043d\u0435\u0432\u043e\u0441\u0442\u043e\u0447\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041f\u0440\u0438\u043c\u043e\u0440\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439\nWorld|Europe|Russia|\u0414\u0430\u043b\u044c\u043d\u0435\u0432\u043e\u0441\u0442\u043e\u0447\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0411\u0443\u0440\u044f\u0442\u0438\u044f\nWorld|Europe|Russia|\u0414\u0430\u043b\u044c\u043d\u0435\u0432\u043e\u0441\u0442\u043e\u0447\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0421\u0430\u0445\u0430 (\u042f\u043a\u0443\u0442\u0438\u044f)\nWorld|Europe|Russia|\u0414\u0430\u043b\u044c\u043d\u0435\u0432\u043e\u0441\u0442\u043e\u0447\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0421\u0430\u0445\u0430\u043b\u0438\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0414\u0430\u043b\u044c\u043d\u0435\u0432\u043e\u0441\u0442\u043e\u0447\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0425\u0430\u0431\u0430\u0440\u043e\u0432\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439\nWorld|Europe|Russia|\u0414\u0430\u043b\u044c\u043d\u0435\u0432\u043e\u0441\u0442\u043e\u0447\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0427\u0443\u043a\u043e\u0442\u0441\u043a\u0438\u0439 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433\n
"},{"location":"club/competition-tool/zones/03-europe/#_2","title":"\u041f\u0440\u0438\u0432\u043e\u043b\u0436\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433","text":"
World|Europe|Russia|\u041f\u0440\u0438\u0432\u043e\u043b\u0436\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041a\u0438\u0440\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u041f\u0440\u0438\u0432\u043e\u043b\u0436\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041d\u0438\u0436\u0435\u0433\u043e\u0440\u043e\u0434\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u041f\u0440\u0438\u0432\u043e\u043b\u0436\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041e\u0440\u0435\u043d\u0431\u0443\u0440\u0433\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u041f\u0440\u0438\u0432\u043e\u043b\u0436\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041f\u0435\u043d\u0437\u0435\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u041f\u0440\u0438\u0432\u043e\u043b\u0436\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041f\u0435\u0440\u043c\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439\nWorld|Europe|Russia|\u041f\u0440\u0438\u0432\u043e\u043b\u0436\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0411\u0430\u0448\u043a\u043e\u0440\u0442\u043e\u0441\u0442\u0430\u043d\nWorld|Europe|Russia|\u041f\u0440\u0438\u0432\u043e\u043b\u0436\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u041c\u0430\u0440\u0438\u0439 \u042d\u043b\nWorld|Europe|Russia|\u041f\u0440\u0438\u0432\u043e\u043b\u0436\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u041c\u043e\u0440\u0434\u043e\u0432\u0438\u044f\nWorld|Europe|Russia|\u041f\u0440\u0438\u0432\u043e\u043b\u0436\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0422\u0430\u0442\u0430\u0440\u0441\u0442\u0430\u043d\nWorld|Europe|Russia|\u041f\u0440\u0438\u0432\u043e\u043b\u0436\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0421\u0430\u043c\u0430\u0440\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u041f\u0440\u0438\u0432\u043e\u043b\u0436\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0421\u0430\u0440\u0430\u0442\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u041f\u0440\u0438\u0432\u043e\u043b\u0436\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0423\u0434\u043c\u0443\u0440\u0442\u0441\u043a\u0430\u044f \u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430\nWorld|Europe|Russia|\u041f\u0440\u0438\u0432\u043e\u043b\u0436\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0423\u043b\u044c\u044f\u043d\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u041f\u0440\u0438\u0432\u043e\u043b\u0436\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0427\u0443\u0432\u0430\u0448\u0441\u043a\u0430\u044f \u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u2014 \u0427\u0443\u0432\u0430\u0448\u0438\u044f\n
"},{"location":"club/competition-tool/zones/03-europe/#-","title":"\u0421\u0435\u0432\u0435\u0440\u043e-\u0417\u0430\u043f\u0430\u0434\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433","text":"
World|Europe|Russia|\u0421\u0435\u0432\u0435\u0440\u043e-\u0417\u0430\u043f\u0430\u0434\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0410\u0440\u0445\u0430\u043d\u0433\u0435\u043b\u044c\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0421\u0435\u0432\u0435\u0440\u043e-\u0417\u0430\u043f\u0430\u0434\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0412\u043e\u043b\u043e\u0433\u043e\u0434\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0421\u0435\u0432\u0435\u0440\u043e-\u0417\u0430\u043f\u0430\u0434\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041a\u0430\u043b\u0438\u043d\u0438\u043d\u0433\u0440\u0430\u0434\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0421\u0435\u0432\u0435\u0440\u043e-\u0417\u0430\u043f\u0430\u0434\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041b\u0435\u043d\u0438\u043d\u0433\u0440\u0430\u0434\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0421\u0435\u0432\u0435\u0440\u043e-\u0417\u0430\u043f\u0430\u0434\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041c\u0443\u0440\u043c\u0430\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0421\u0435\u0432\u0435\u0440\u043e-\u0417\u0430\u043f\u0430\u0434\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041d\u0435\u043d\u0435\u0446\u043a\u0438\u0439 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433\nWorld|Europe|Russia|\u0421\u0435\u0432\u0435\u0440\u043e-\u0417\u0430\u043f\u0430\u0434\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041d\u043e\u0432\u0433\u043e\u0440\u043e\u0434\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0421\u0435\u0432\u0435\u0440\u043e-\u0417\u0430\u043f\u0430\u0434\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041f\u0441\u043a\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0421\u0435\u0432\u0435\u0440\u043e-\u0417\u0430\u043f\u0430\u0434\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u041a\u0430\u0440\u0435\u043b\u0438\u044f\nWorld|Europe|Russia|\u0421\u0435\u0432\u0435\u0440\u043e-\u0417\u0430\u043f\u0430\u0434\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u041a\u043e\u043c\u0438\nWorld|Europe|Russia|\u0421\u0435\u0432\u0435\u0440\u043e-\u0417\u0430\u043f\u0430\u0434\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\n
"},{"location":"club/competition-tool/zones/03-europe/#-_1","title":"\u0421\u0435\u0432\u0435\u0440\u043e-\u041a\u0430\u0432\u043a\u0430\u0437\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433","text":"
World|Europe|Russia|\u0421\u0435\u0432\u0435\u0440\u043e-\u041a\u0430\u0432\u043a\u0430\u0437\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041a\u0430\u0431\u0430\u0440\u0434\u0438\u043d\u043e-\u0411\u0430\u043b\u043a\u0430\u0440\u0441\u043a\u0430\u044f \u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430\nWorld|Europe|Russia|\u0421\u0435\u0432\u0435\u0440\u043e-\u041a\u0430\u0432\u043a\u0430\u0437\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041a\u0430\u0440\u0430\u0447\u0430\u0435\u0432\u043e-\u0427\u0435\u0440\u043a\u0435\u0441\u0441\u043a\u0430\u044f \u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430\nWorld|Europe|Russia|\u0421\u0435\u0432\u0435\u0440\u043e-\u041a\u0430\u0432\u043a\u0430\u0437\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0414\u0430\u0433\u0435\u0441\u0442\u0430\u043d\nWorld|Europe|Russia|\u0421\u0435\u0432\u0435\u0440\u043e-\u041a\u0430\u0432\u043a\u0430\u0437\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0418\u043d\u0433\u0443\u0448\u0435\u0442\u0438\u044f\nWorld|Europe|Russia|\u0421\u0435\u0432\u0435\u0440\u043e-\u041a\u0430\u0432\u043a\u0430\u0437\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0421\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u041e\u0441\u0435\u0442\u0438\u044f \u2014 \u0410\u043b\u0430\u043d\u0438\u044f\nWorld|Europe|Russia|\u0421\u0435\u0432\u0435\u0440\u043e-\u041a\u0430\u0432\u043a\u0430\u0437\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0421\u0442\u0430\u0432\u0440\u043e\u043f\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439\nWorld|Europe|Russia|\u0421\u0435\u0432\u0435\u0440\u043e-\u041a\u0430\u0432\u043a\u0430\u0437\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0427\u0435\u0447\u0435\u043d\u0441\u043a\u0430\u044f \u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430\n
"},{"location":"club/competition-tool/zones/03-europe/#_3","title":"\u0421\u0438\u0431\u0438\u0440\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433","text":"
World|Europe|Russia|\u0421\u0438\u0431\u0438\u0440\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0410\u043b\u0442\u0430\u0439\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439\nWorld|Europe|Russia|\u0421\u0438\u0431\u0438\u0440\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0418\u0440\u043a\u0443\u0442\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0421\u0438\u0431\u0438\u0440\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041a\u0435\u043c\u0435\u0440\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0421\u0438\u0431\u0438\u0440\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041a\u0440\u0430\u0441\u043d\u043e\u044f\u0440\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439\nWorld|Europe|Russia|\u0421\u0438\u0431\u0438\u0440\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041d\u043e\u0432\u043e\u0441\u0438\u0431\u0438\u0440\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0421\u0438\u0431\u0438\u0440\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041e\u043c\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0421\u0438\u0431\u0438\u0440\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0410\u043b\u0442\u0430\u0439\nWorld|Europe|Russia|\u0421\u0438\u0431\u0438\u0440\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0422\u044b\u0432\u0430\nWorld|Europe|Russia|\u0421\u0438\u0431\u0438\u0440\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0425\u0430\u043a\u0430\u0441\u0438\u044f\nWorld|Europe|Russia|\u0421\u0438\u0431\u0438\u0440\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0422\u043e\u043c\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0423\u0440\u0430\u043b\u044c\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041a\u0443\u0440\u0433\u0430\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0423\u0440\u0430\u043b\u044c\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0421\u0432\u0435\u0440\u0434\u043b\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0423\u0440\u0430\u043b\u044c\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0422\u044e\u043c\u0435\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0423\u0440\u0430\u043b\u044c\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0425\u0430\u043d\u0442\u044b-\u041c\u0430\u043d\u0441\u0438\u0439\u0441\u043a\u0438\u0439 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433 \u2014 \u042e\u0433\u0440\u0430\nWorld|Europe|Russia|\u0423\u0440\u0430\u043b\u044c\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0427\u0435\u043b\u044f\u0431\u0438\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0423\u0440\u0430\u043b\u044c\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u042f\u043c\u0430\u043b\u043e-\u041d\u0435\u043d\u0435\u0446\u043a\u0438\u0439 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433\n
"},{"location":"club/competition-tool/zones/03-europe/#_4","title":"\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433","text":"
World|Europe|Russia|\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0411\u0435\u043b\u0433\u043e\u0440\u043e\u0434\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0411\u0440\u044f\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0412\u043e\u0440\u043e\u043d\u0435\u0436\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0418\u0432\u0430\u043d\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041a\u0430\u043b\u0443\u0436\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041a\u043e\u0441\u0442\u0440\u043e\u043c\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041a\u0443\u0440\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041b\u0438\u043f\u0435\u0446\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041c\u043e\u0441\u043a\u0432\u0430\nWorld|Europe|Russia|\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041c\u043e\u0441\u043a\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041e\u0440\u043b\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0420\u044f\u0437\u0430\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0421\u043c\u043e\u043b\u0435\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0422\u0430\u043c\u0431\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0422\u0432\u0435\u0440\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0422\u0443\u043b\u044c\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u042f\u0440\u043e\u0441\u043b\u0430\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\n
"},{"location":"club/competition-tool/zones/03-europe/#_5","title":"\u042e\u0436\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433","text":"
World|Europe|Russia|\u042e\u0436\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0410\u0441\u0442\u0440\u0430\u0445\u0430\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u042e\u0436\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0412\u043e\u043b\u0433\u043e\u0433\u0440\u0430\u0434\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u042e\u0436\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u041a\u0440\u0430\u0441\u043d\u043e\u0434\u0430\u0440\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439\nWorld|Europe|Russia|\u042e\u0436\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0410\u0434\u044b\u0433\u0435\u044f\nWorld|Europe|Russia|\u042e\u0436\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u041a\u0430\u043b\u043c\u044b\u043a\u0438\u044f\nWorld|Europe|Russia|\u042e\u0436\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u041a\u0440\u044b\u043c\nWorld|Europe|Russia|\u042e\u0436\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0420\u043e\u0441\u0442\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\nWorld|Europe|Russia|\u042e\u0436\u043d\u044b\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433|\u0421\u0435\u0432\u0430\u0441\u0442\u043e\u043f\u043e\u043b\u044c\n
"},{"location":"club/competition-tool/zones/03-europe/#serbia","title":"Serbia","text":"
World|Europe|Serbia|Beograd\nWorld|Europe|Serbia|Kru\u0161evac\nWorld|Europe|Serbia|Ni\u0161\nWorld|Europe|Serbia|Novi Sad\n
"},{"location":"club/competition-tool/zones/03-europe/#slovenia","title":"Slovenia","text":"
World|Europe|Slovenia|Dolenjska\nWorld|Europe|Slovenia|Gorenjska\nWorld|Europe|Slovenia|Koro\u0161ka\nWorld|Europe|Slovenia|Notranjska\nWorld|Europe|Slovenia|Prekmurje\nWorld|Europe|Slovenia|Primorska\nWorld|Europe|Slovenia|\u0160tajerska\n
"},{"location":"club/competition-tool/zones/03-europe/#spain","title":"Spain","text":"
World|Europe|Spain|Andaluc\u00eda\nWorld|Europe|Spain|Arag\u00f3n\nWorld|Europe|Spain|Asturias\nWorld|Europe|Spain|Cantabria\nWorld|Europe|Spain|Castilla y Le\u00f3n\nWorld|Europe|Spain|Castilla-La Mancha\nWorld|Europe|Spain|Catalunya\nWorld|Europe|Spain|Comunidad de Madrid\nWorld|Europe|Spain|Comunitat Valenciana\nWorld|Europe|Spain|Euskadi\nWorld|Europe|Spain|Extremadura\nWorld|Europe|Spain|Galicia\nWorld|Europe|Spain|Illes Balears\nWorld|Europe|Spain|Islas Canarias\nWorld|Europe|Spain|La Rioja\nWorld|Europe|Spain|Navarra\nWorld|Europe|Spain|Regi\u00f3n de Murcia\n
"},{"location":"club/competition-tool/zones/03-europe/#switzerland","title":"Switzerland","text":"
World|Europe|Switzerland|Aargau\nWorld|Europe|Switzerland|Appenzell-Ausserrhoden\nWorld|Europe|Switzerland|Appenzell-Innerrhoden\nWorld|Europe|Switzerland|Basel-Landschaft\nWorld|Europe|Switzerland|Basel-Stadt\nWorld|Europe|Switzerland|Bern\nWorld|Europe|Switzerland|Fribourg\nWorld|Europe|Switzerland|Gen\u00e8ve\nWorld|Europe|Switzerland|Glarus\nWorld|Europe|Switzerland|Graub\u00fcnden\nWorld|Europe|Switzerland|Jura\nWorld|Europe|Switzerland|Luzern\nWorld|Europe|Switzerland|Neuch\u00e2tel\nWorld|Europe|Switzerland|Nidwalden\nWorld|Europe|Switzerland|Obwalden\nWorld|Europe|Switzerland|Schaffhausen\nWorld|Europe|Switzerland|Schwyz\nWorld|Europe|Switzerland|Solothurn\nWorld|Europe|Switzerland|St. Gallen\nWorld|Europe|Switzerland|Thurgau\nWorld|Europe|Switzerland|Ticino\nWorld|Europe|Switzerland|Uri\nWorld|Europe|Switzerland|Valais (Wallis)\nWorld|Europe|Switzerland|Vaud\nWorld|Europe|Switzerland|Zug\nWorld|Europe|Switzerland|Z\u00fcrich\n
"},{"location":"club/competition-tool/zones/03-europe/#united-kingdom","title":"United Kingdom","text":"
World|Europe|United Kingdom|England\nWorld|Europe|United Kingdom|Northern Ireland\nWorld|Europe|United Kingdom|Scotland\nWorld|Europe|United Kingdom|Wales\n
"},{"location":"club/competition-tool/zones/03-europe/#england","title":"England","text":"
World|Europe|United Kingdom|England|East Midlands\nWorld|Europe|United Kingdom|England|East of England\nWorld|Europe|United Kingdom|England|London\nWorld|Europe|United Kingdom|England|North East England\nWorld|Europe|United Kingdom|England|North West England\nWorld|Europe|United Kingdom|England|South East England\nWorld|Europe|United Kingdom|England|South West England\nWorld|Europe|United Kingdom|England|West Midlands\nWorld|Europe|United Kingdom|England|Yorkshire and the Humber\n
"},{"location":"club/competition-tool/zones/04-middle-east/","title":"Middle East","text":"

Warning

This section contains the list of available zones to be used for creating competitions. It may be incomplete.

World|Middle East|Bahrain\nWorld|Middle East|Egypt\nWorld|Middle East|Iran\nWorld|Middle East|Iraq\nWorld|Middle East|Israel\nWorld|Middle East|Jordan\nWorld|Middle East|Kuwait\nWorld|Middle East|Lebanon\nWorld|Middle East|Oman\nWorld|Middle East|Qatar\nWorld|Middle East|Saudi Arabia\nWorld|Middle East|Syria\nWorld|Middle East|United Arab Emirates\nWorld|Middle East|Yemen\n
"},{"location":"club/competition-tool/zones/05-north-america/","title":"North America","text":"

Warning

This section contains the list of available zones to be used for creating competitions. It may be incomplete.

World|North America|Antigua and Barbuda\nWorld|North America|Bahamas\nWorld|North America|Barbados\nWorld|North America|Belize\nWorld|North America|Canada\nWorld|North America|Costa Rica\nWorld|North America|Cuba\nWorld|North America|Dominica\nWorld|North America|Dominican Republic\nWorld|North America|El Salvador\nWorld|North America|Grenada\nWorld|North America|Haiti\nWorld|North America|Honduras\nWorld|North America|Jamaica\nWorld|North America|Mexico\nWorld|North America|Nicaragua\nWorld|North America|Saint Kitts and Nevis\nWorld|North America|Saint Lucia\nWorld|North America|Saint Vincent and the Grenadines\nWorld|North America|Trinidad and Tobago\nWorld|North America|United States\n
"},{"location":"club/competition-tool/zones/05-north-america/#canada","title":"Canada","text":"
World|North America|Canada|Alberta\nWorld|North America|Canada|British Columbia\nWorld|North America|Canada|Manitoba\nWorld|North America|Canada|New Brunswick\nWorld|North America|Canada|Newfoundland and Labrador\nWorld|North America|Canada|Northwest Territories\nWorld|North America|Canada|Nova Scotia\nWorld|North America|Canada|Nunavut\nWorld|North America|Canada|Ontario\nWorld|North America|Canada|Prince Edward Island\nWorld|North America|Canada|Quebec\nWorld|North America|Canada|Saskatchewan\nWorld|North America|Canada|Yukon\n
"},{"location":"club/competition-tool/zones/05-north-america/#united-states","title":"United States","text":"
World|North America|United States|Alabama\nWorld|North America|United States|Alaska\nWorld|North America|United States|Arizona\nWorld|North America|United States|Arkansas\nWorld|North America|United States|California\nWorld|North America|United States|Colorado\nWorld|North America|United States|Connecticut\nWorld|North America|United States|Delaware\nWorld|North America|United States|Florida\nWorld|North America|United States|Georgia\nWorld|North America|United States|Hawaii\nWorld|North America|United States|Idaho\nWorld|North America|United States|Illinois\nWorld|North America|United States|Indiana\nWorld|North America|United States|Iowa\nWorld|North America|United States|Kansas\nWorld|North America|United States|Kentucky\nWorld|North America|United States|Louisiana\nWorld|North America|United States|Maine\nWorld|North America|United States|Maryland\nWorld|North America|United States|Massachusetts\nWorld|North America|United States|Michigan\nWorld|North America|United States|Minnesota\nWorld|North America|United States|Mississippi\nWorld|North America|United States|Missouri\nWorld|North America|United States|Montana\nWorld|North America|United States|Nebraska\nWorld|North America|United States|Nevada\nWorld|North America|United States|New Hampshire\nWorld|North America|United States|New Jersey\nWorld|North America|United States|New Mexico\nWorld|North America|United States|New York\nWorld|North America|United States|North Carolina\nWorld|North America|United States|North Dakota\nWorld|North America|United States|Ohio\nWorld|North America|United States|Oklahoma\nWorld|North America|United States|Oregon\nWorld|North America|United States|Pennsylvania\nWorld|North America|United States|Rhode Island\nWorld|North America|United States|South Carolina\nWorld|North America|United States|South Dakota\nWorld|North America|United States|Tennessee\nWorld|North America|United States|Texas\nWorld|North America|United States|Utah\nWorld|North America|United States|Vermont\nWorld|North America|United States|Virginia\nWorld|North America|United States|Washington\nWorld|North America|United States|Washington, D.C.\nWorld|North America|United States|West Virginia\nWorld|North America|United States|Wisconsin\nWorld|North America|United States|Wyoming\n
"},{"location":"club/competition-tool/zones/06-oceania/","title":"Oceania","text":"

Warning

This section contains the list of available zones to be used for creating competitions. It may be incomplete.

World|Oceania|Australia\nWorld|Oceania|Fiji\nWorld|Oceania|Marshall Islands\nWorld|Oceania|Micronesia\nWorld|Oceania|Nauru\nWorld|Oceania|New Zealand\nWorld|Oceania|Palau\nWorld|Oceania|Papua New Guinea\nWorld|Oceania|Samoa\nWorld|Oceania|Solomon Islands\nWorld|Oceania|Tonga\nWorld|Oceania|Tuvalu\nWorld|Oceania|Vanuatu\n
"},{"location":"club/competition-tool/zones/06-oceania/#australia","title":"Australia","text":"
World|Oceania|Australia|Australian Capital Territory\nWorld|Oceania|Australia|New South Wales\nWorld|Oceania|Australia|Northern Territory\nWorld|Oceania|Australia|Queensland\nWorld|Oceania|Australia|South Australia\nWorld|Oceania|Australia|Tasmania\nWorld|Oceania|Australia|Victoria\nWorld|Oceania|Australia|Western Australia\n
"},{"location":"club/competition-tool/zones/07-south-america/","title":"South America","text":"

Warning

This section contains the list of available zones to be used for creating competitions. It may be incomplete.

World|South America|Argentina\nWorld|South America|Bolivia\nWorld|South America|Brazil\nWorld|South America|Chile\nWorld|South America|Colombia\nWorld|South America|Ecuador\nWorld|South America|Guatemala\nWorld|South America|Guyana\nWorld|South America|Panama\nWorld|South America|Paraguay\nWorld|South America|Peru\nWorld|South America|Suriname\nWorld|South America|Uruguay\nWorld|South America|Venezuela\n
"},{"location":"club/competition-tool/zones/07-south-america/#brazil","title":"Brazil","text":"
World|South America|Brazil|Acre\nWorld|South America|Brazil|Alagoas\nWorld|South America|Brazil|Amap\u00e1\nWorld|South America|Brazil|Amazonas\nWorld|South America|Brazil|Bahia\nWorld|South America|Brazil|Cear\u00e1\nWorld|South America|Brazil|District f\u00e9d\u00e9ral\nWorld|South America|Brazil|Esp\u00edrito Santo\nWorld|South America|Brazil|Goi\u00e1s\nWorld|South America|Brazil|Maranh\u00e3o\nWorld|South America|Brazil|Mato Grosso\nWorld|South America|Brazil|Mato Grosso do Sul\nWorld|South America|Brazil|Minas Gerais\nWorld|South America|Brazil|Paran\u00e1\nWorld|South America|Brazil|Para\u00efba\nWorld|South America|Brazil|Par\u00e1\nWorld|South America|Brazil|Pernambuco\nWorld|South America|Brazil|Piau\u00ed\nWorld|South America|Brazil|Rio Grande do Norte\nWorld|South America|Brazil|Rio Grande do Sul\nWorld|South America|Brazil|Rio de Janeiro\nWorld|South America|Brazil|Rond\u00f4nia\nWorld|South America|Brazil|Roraima\nWorld|South America|Brazil|Santa Catarina\nWorld|South America|Brazil|Sergipe\nWorld|South America|Brazil|S\u00e3o Paulo\nWorld|South America|Brazil|Tocantins\n
"},{"location":"club/competition-tool/zones/07-south-america/#chile","title":"Chile","text":"
World|South America|Chile|Aisen\nWorld|South America|Chile|Antofagasta\nWorld|South America|Chile|Araucania\nWorld|South America|Chile|Arica y Parinacota\nWorld|South America|Chile|Atacama\nWorld|South America|Chile|Biobio\nWorld|South America|Chile|Coquimbo\nWorld|South America|Chile|Los Lagos\nWorld|South America|Chile|Los Rios\nWorld|South America|Chile|Magallanes y Antartica\nWorld|South America|Chile|Maule\nWorld|South America|Chile|OHiggins\nWorld|South America|Chile|Santiago\nWorld|South America|Chile|Tarapaca\nWorld|South America|Chile|Valparaiso\n
"},{"location":"create/","title":"Trackmania documentation","text":"

This is a work in progress website.

"},{"location":"create/#contribute","title":"Contribute","text":"

Feel free to contribute through the github project.

"},{"location":"create/garage/prestige-skins/","title":"Prestige skins","text":"

Prestige skins are a form of in-game achievement that you can gain in several different ways. Getting prestige levels unlocks special skins with lights on the rims and around the cockpit that show off your prestige level.

See the graphic and the explanations below for an overview of the different types.

"},{"location":"create/garage/prestige-skins/#royal-skins","title":"Royal skins","text":"

To unlock Royal skins, place 4th/3rd/2nd/1st and you'll unlock the respective skin for your team and placement.

To level up, get the same placement again with the same animal.

"},{"location":"create/garage/prestige-skins/#season-skins","title":"Season skins","text":"

To unlock Season skins, get 1 bronze/3 silver/5 gold/10 author medals (across the current seasonal campaign and all TOTDs of the season) to unlock its respective skin.

Note that TOTD medals count as long as they were driven during the season, no need to get them on the same day of their release.

To level up, get more medals of the same type. Every 3 bronze/5 silver/6 gold/7 author medals, your prestige skin will level up.

"},{"location":"create/garage/prestige-skins/#ranked-skins","title":"Ranked skins","text":"

To unlock Ranked skins, obtain the rank and you'll get its skin.

To level up, keep the rank for another month.

Author: tooInfinite

"},{"location":"create/map-review/play-others-maps/","title":"Play others' maps.","text":"

In order to review other players' maps and join the track review server, you must navigate from the main menu to CREATE, then TRACK REVIEW, and finally REVIEW OTHER TRACKS. Once selecting REVIEW OTHER TRACKS, you will be able to select whether you want to review maps for TRACK OF THE DAY or ROYAL.

Once choosing a map review type, you will then be moved to a review server, where you will be able to test other players\\' maps and give them a rating from 1-5 stars.

These ratings will be seen by map selectors from Ubisoft Nadeo and based on the amount of reviews, will decide whether the map is qualified to be either a Track of the Day, or a Royal Map.

Author: vikingjoe

"},{"location":"create/map-review/submit-your-map-to-map-review/","title":"Submit your map to map review","text":"

Map Review allows you to gather feedback for your tracks from other players.

"},{"location":"create/map-review/submit-your-map-to-map-review/#submit-via-the-menu","title":"Submit via the menu","text":"

In order to submit your map to be reviewed, you must navigate from the main menu to CREATE, then TRACK REVIEW, and finally SUBMIT YOUR TRACKS. Once selecting SUBMIT YOUR TRACKS, you will be able to select a map of your choice to be submitted to either TRACK OF THE DAY or ROYAL. A more specific description on how to submit tracks can be found in the \"Map Review Section\" under Navigating the menus.

Once choosing a map, you will then be given an estimated maximum waiting time, and which game mode you have selected to submit the map to.

You can then press the SEND FOR REVIEW button, which will insert your map into the map review server, where other players can test/play your map, and ultimately give a 1-5 star review.

"},{"location":"create/map-review/submit-your-map-to-map-review/#submit-via-the-track-editor","title":"Submit via the Track Editor","text":"

After successful validation of your map and calculation of the shadows, you have the option to submit the track to Map review via the LIVE TEST popup option you get after saving the map.

Author: vikingjoe

"},{"location":"create/map-review/what-is-map-review/","title":"What is Map Review?","text":"

Paid access required

This feature requires an active Standard Access or Club Access subscription.

Map review is a feature in Trackmania that allows players to play and review maps that have been created by other players, as well as submit their own maps for review and feedback.

Map review is a valuable area for mappers to receive feedback and achieve a better understanding of how to improve as a mapper. In order to join map review and play other maps that were created by fellow community members follow these instructions below:

"},{"location":"create/map-review/what-is-map-review/#navigating-the-menus","title":"Navigating the menus","text":"

Upon launching the game and loading into the main menu, you will see several options to select from. In order to locate the map review server, first select the CREATE button.

After selecting CREATE, you will now see 4 options. Please select the option labeled TRACK REVIEW.

From here you will see a different set of 4 options. Please select the option labeled REVIEW OTHER TRACKS.

Lastly, you will have the option choose from either the TRACK OF THE DAY or ROYAL servers.

The aim of these servers is to provide an honest rating of the maps displayed on their functionality in Cup of the Day or Super Royal features of Trackmania and/or offer advice to mappers in order to help improve a map's quality overall.

Author: XLRB

"},{"location":"create/nadeo-importer/","title":"Nadeo importer","text":"

Nadeo Importer is a tool to generate items that can be placed in Trackmania maps.

It allows you to turn .fbx files (made with your favorite 3d software, such as Blender or 3ds Max) into .Item.Gbx files, which will be recognized and browsed by Trackmania Map Editor.

This version of Nadeo Importer is for the game Trackmania, released in 2020.

For the game ManiaPlanet, see https://doc.maniaplanet.com/nadeo-importer/getting-started.

Some differences with ManiaPlanet Nadeo Importer are discussed in section About Mesh Shape and Mat gbx files.

See section Download and install to get started.

"},{"location":"create/nadeo-importer/01-download-and-install/","title":"Download and install","text":""},{"location":"create/nadeo-importer/01-download-and-install/#how-to-install-nadeo-importer","title":"How to install Nadeo Importer","text":"

First download the importer zip file, and also the sample zip file if you are interested (see below for the download links).

The importer must be unzipped in the {Trackmania_exe_dir} folder, which is the folder that contains Trackmania.exe, typically C:\\Program Files\\Ubisoft\\Ubisoft Game Launcher\\games\\Trackmania or C:\\Program Files\\Trackmania. You might neeed administrator rights to unzip and place the importer files in there.

This will add some files to your {Trackmania_exe_dir} folder, but the most important one is NadeoImporter.exe.

See section How to import an item to learn how to use this executable properly.

The sample files are not mandatory, but provide examples that can help you: you can unzip them in the {Trackmania_user_dir} folder, which is typically {My Documents}\\Trackmania. This will create the folder {Trackmania_user_dir}\\Work\\Items\\Samples and fill it with source assets, ready to be imported.

"},{"location":"create/nadeo-importer/01-download-and-install/#current-release","title":"Current release","text":"

Importer zip: https://nadeo-download.cdn.ubi.com/trackmania/NadeoImporter_2022_07_12.zip

Sample zip: https://nadeo-download.cdn.ubi.com/trackmania/NadeoImporterSamples_2021_01_19.zip

"},{"location":"create/nadeo-importer/01-download-and-install/#changelog","title":"Changelog","text":"
  • 2020/12/15: Initial release
  • 2021/01/19: Add support for GameplayId (Turbo, Slow motion, etc.), and also PhysicsId
  • 2021/03/24: Fix crashes linked to wrong UV mappings imported via Nadeo Importer, and detect the issue when importing
  • 2021/04/23: Add CustomMetalPaint in the MatLib
  • 2021/07/07: Update MaterialLib, PhysicsIds and GameplayIds with new materials from the June 2021 update
  • 2021/10/15: Fix MaterialLib (BaseMaterial UVs were used for Lightmap in CustomXyz materials), fix bugs (wrong return code + omitted FbxFile attribute in MeshParams.xml was not handled correctly)
  • 2022/07/12: GlassWaterWall is no longer invisible, added materials (\"CustomModAddSelfIllum\", \"CustomModSelfIllumSimple\", Chrono materials, \"PlatformDirt_DecoHill2\", \"PlatformIce_DecoHill2\"), fixed blur issues on the \"CustomModSelfIllum\" material, added second version of each \"CustomMod...\" material, fixed the behaviour when using both _notvisible_ or _notcollidable_ and Lods.
"},{"location":"create/nadeo-importer/01-download-and-install/#all-releases","title":"All releases","text":"

Importer zip:

  • https://nadeo-download.cdn.ubi.com/trackmania/NadeoImporter_2020_12_15.zip
  • https://nadeo-download.cdn.ubi.com/trackmania/NadeoImporter_2021_01_19.zip
  • https://nadeo-download.cdn.ubi.com/trackmania/NadeoImporter_2021_03_24.zip
  • https://nadeo-download.cdn.ubi.com/trackmania/NadeoImporter_2021_04_23.zip
  • https://nadeo-download.cdn.ubi.com/trackmania/NadeoImporter_2021_07_07.zip
  • https://nadeo-download.cdn.ubi.com/trackmania/NadeoImporter_2021_10_15.zip
  • https://nadeo-download.cdn.ubi.com/trackmania/NadeoImporter_2022_07_12.zip

Sample zip:

  • https://nadeo-download.cdn.ubi.com/trackmania/NadeoImporterSamples_2020_12_15.zip
  • https://nadeo-download.cdn.ubi.com/trackmania/NadeoImporterSamples_2021_01_19.zip
"},{"location":"create/nadeo-importer/02-how-to-import-an-item/","title":"How to import an item","text":""},{"location":"create/nadeo-importer/02-how-to-import-an-item/#file-organization","title":"File organization","text":"

The source assets (.fbx, .MeshParams.xml and .Item.xml files) must be placed in sub folders of {Trackmania_user_dir}\\Work\\Items.

The corresponding imported files (.Item.Gbx) will be created in sub folders of {Trackmania_user_dir}\\Items (without \\Work).

For instance:

  • source assets: {Trackmania_user_dir}\\Work\\Items\\Samples\\StaticObjects\\Mesh\\Slope_Base.fbx {Trackmania_user_dir}\\Work\\Items\\Samples\\StaticObjects\\Mesh\\Slope_Base.MeshParams.xml {Trackmania_user_dir}\\Work\\Items\\Samples\\StaticObjects\\Slope_Base.Item.xml

  • imported file: {Trackmania_user_dir}\\Items\\Samples\\StaticObjects\\Slope_Base.Item.gbx

So you must create the source assets first.

The Samples.zip file that you can download in section Download and install contains examples of such files.

For more information about how to create and edit source assets, see the following sections:

  • How to create the fbx file

  • How to create the MeshParams xml file

  • How to create the Item xml file.

"},{"location":"create/nadeo-importer/02-how-to-import-an-item/#import-command","title":"Import command","text":"

To generate the .Item.Gbx File:

  1. Open a command line window in your {Trackmania_exe_dir} folder. One quick way to do that is to maintain Shift and right-click on this folder in Windows Explorer, and then select \"Open PowerShell window here\" or \"Open command window here\" in the context menu.
  2. Type the following command:
.\\NadeoImporter Item {Item.xml_Filename_Relative_To_WorkFolder}\n

For instance:

.\\NadeoImporter Item Items\\Samples\\StaticObjects\\Slope_Base.Item.xml\n
"},{"location":"create/nadeo-importer/02-how-to-import-an-item/#notes","title":"Notes","text":""},{"location":"create/nadeo-importer/02-how-to-import-an-item/#wildcard-character","title":"Wildcard character","text":"

You can also use the wildcard character * to import several items at once.

For example, if you want to import all the items contained in {Trackmania_user_dir}\\Work\\Items\\Samples\\StaticObjects:

.\\NadeoImporter Item Items\\Samples\\StaticObjects\\*.Item.xml\n
"},{"location":"create/nadeo-importer/02-how-to-import-an-item/#icon","title":"Icon","text":"

If you want your item to have an icon in the Map Editor (which is recommended), see section How to add an icon to my item

"},{"location":"create/nadeo-importer/02-how-to-import-an-item/#command-arguments","title":"Command arguments","text":"

The .MeshParams.xml and .fbx files do not appear in the arguments of this command line, because:

  • .Item.xml contains a reference (either explicit or implicit: see tag MeshParamsLink in section How to create the Item xml file) to the .MeshParams.xml file

  • .MeshParams.xml contains a reference (either excplit or implicit: see attribute FbxFile in section How to create the MeshParams xml file) to the .fbx file.

There is also a facultative command argument: /LogMeshStats. This will give you some information about the fbx you are importing.

.\\NadeoImporter Item Items\\Samples\\StaticObjects\\Slope_Base.Item.xml /LogMeshStats\n
"},{"location":"create/nadeo-importer/02-how-to-import-an-item/#powershell-vs-classic-command-line","title":"PowerShell vs classic command line","text":"

The .\\ before NadeoImporter is mandatory in PowerShell, but not in classic command line.

"},{"location":"create/nadeo-importer/03-how-to-create-the-fbx-file/","title":"How to create the fbx file","text":"

You can export .fbx files from external 3d editors such as Blender or 3ds Max.

"},{"location":"create/nadeo-importer/03-how-to-create-the-fbx-file/#materials","title":"Materials","text":"

The file must contain meshes with materials.

You can name your materials however you want, but you must remember those names because you will have to bind them to actual Trackmania material names in the .MeshParams.xml file (see section How to create the MeshParams xml file).

"},{"location":"create/nadeo-importer/03-how-to-create-the-fbx-file/#uvs","title":"UVs","text":"

Uvs : for most of the static mesh materials, you will need 2 UV layers:

  • a layer named BaseMaterial : base layer of the material, typically mapping your Diffuse texture.

  • a layer named Lightmap : mandatory, needed for lightmap computation in Map Editor.

For the Lightmap layer, the UV must not overlap, otherwise it will cause invalid lightmaps !

Some materials will need only one of those two layers, as you can see in the file {Trackmania_exe_dir}\\NadeoImporterMaterialLib.txt

In Blender, it's easy to name your layers.

In 3dsMax (which is classicaly index-based for layers), you have two options:

  • use the Channel Info utility to name your layers (comes with 3dsmax, available in panel Utility > More > Channel info)

  • or add the following information to the User Defined Properties (this is what Channel Info would do anyway):

MapChannel:1 = BaseMaterial\nMapChannel:2 = LightMap\n
"},{"location":"create/nadeo-importer/03-how-to-create-the-fbx-file/#special-object-prefixes","title":"Special object prefixes","text":"

The name of the objects contained in the .fbx file are ignored, except if they start with one of the following special prefixes:

  • If the object name is _socket_start, its location is considered a special landmark, which will be interpreted as a spawn location for players. This is useful for all waypoint items (like checkpoint items): see section How to make a waypoint item for more information

  • If the object name starts with _trigger_ (for example: _trigger_A), its mesh will not be visible, and when a player will go through it, it will trigger a checkpoint or a finish event, depending on the type of item. See section How to make a waypoint item for more information.

  • If the object name starts with _notvisible_ (for example: _notvisible_B), its mesh will not be visible, but will be collidable (it's an \"invisible wall\" for players).

  • If the object name starts with _notcollidable_ (for example _notcollidable_C), its mesh will be visible but not collidable, the player will be able to go through it.

  • If the object name starts with _skip_, its mesh will be completely ignored during the import process (might be useful to have landmarks in your 3d software that will not have any effect on the resulting .Item.Gbx).

"},{"location":"create/nadeo-importer/04-how-to-create-the-meshparams-xml-file/","title":"How to create the MeshParams xml file","text":"

Just create an empty text file (which has the extension \".txt\" by default) and change its extension by renaming it {ItemName}.MeshParams.xml (for example: Slope_Base.MeshParams.xml).

Open this file in your favorite text editor (for example: Notepad++), and copy-paste the following template:

<MeshParams MeshType=\"Static\" Collection=\"Stadium\" Scale=\"1\" FbxFile=\"ItemName.fbx\">\n<Materials>\n<Material Name=\"A\" Link=\"Name1FromTheMaterialLib\" Color=\"F00\" PhysicsId=\"Name1FromThePhysicsIdLib\" GameplayId=\"Name1FromTheGameplayIdLib\" />\n<Material Name=\"B\" Link=\"Name2FromTheMaterialLib\" Color=\"F00\" PhysicsId=\"Name2FromThePhysicsIdLib\" GameplayId=\"Name2FromTheGameplayIdLib\" />\n</Materials>\n</MeshParams>\n

Then adapt it to your situation, according to the following explanations:

  • MeshParams tag is mandatory
  • attributes:
    • MeshType is mandatory and should not be changed (\"Static\")
    • Collection is mandatory and should not be changed (\"Stadium\")
    • Scale is facultative. You can set a value greater than 1 to make your item bigger, or less than 1 to make it smaller. But you should not set it to 0 or a negative value.
    • FbxFile is facultative. If this attribute is omitted, then the fbx file is supposed to be next to this xml file, with the same name (but a different extension: .fbx). If the fbx file has a different name or is in a different folder though, you have to put its relative path in this attribute.
  • sub-tags:
    • Materials tag is mandatory, because your mesh is supposed to have materials, that we have to link to the game material library at some point
    • sub-tags:
      • Material: You should put one Material tag for each material contained in your fbx file
      • attributes:
        • Name: the name of the material in the fbx file, that you have chosen when making your model in the 3d software you have used (Blender, 3ds Max...)
        • Link: the name of a material of Trackmania material library. The list of library materials can be found in {Trackmania_exe_dir}\\NadeoImporterMaterialLib.txt, which was placed next to NadeoImporter.exe when you unzipped the importer files (see section Download and install)
        • Color: facultative. If the linked material is a colorizable one, you can specify the color you want with a 3-digit or 6-digit hexadecimal color code (RGB or RRGGBB). For instance: F00 or FF0000 for red, 0F0 or 00FF00 for green, 00F or 0000FF for blue, FF0 or FFFF00 for yellow, etc.
        • PhysicsId: facultative (and not recommended). Overrides the way the cars will interact physically with the surface. You should not overuse this feature because it is usually a bad idea (for gameplay and fun) to have a surface looking like grass but behaving like dirt. You can find the list of possible values in the PhysicsId library below.
        • GameplayId: facultative. Setting a value different than None will add a special gameplay effect to the surface, like activating free wheeling or slow motion modes. Some of those gameplay effects such as Turbo or ReactorBoost are \"oriented\": the direction of this effect is automatically the local z-axis of the item. You can find the list of possible values in the GameplayId library below. This option is available only for specific values of the Link attribute: see Materials compatible with GameplayId below.

You should get something like this:

<MeshParams MeshType=\"Static\" Collection=\"Stadium\">\n<Materials>\n<Material Name=\"Road1\" Link=\"RoadDirt\" />\n<Material Name=\"Road2\" Link=\"RoadBump\" />\n<Material Name=\"Wall\" Link=\"TrackWall\" />\n</Materials>\n</MeshParams>\n
"},{"location":"create/nadeo-importer/04-how-to-create-the-meshparams-xml-file/#physicsid-library","title":"PhysicsId library","text":"

Here is the list of all PhysicsId in the game.

Each one has a different effect on car grip and speed (it also affects sound and skid marks).

Each material has a default PhysicsId that you can see in {Trackmania_exe_dir}\\NadeoImporterMaterialLib.txt, next to NadeoImporter.exe (see section Download and install).

You can override this default behavior with the PhysicsId attribute of the Material tag, but it is not recommended (see the description of this attribute above).

  • Asphalt: the actual base material of TrackMania, used on every normal road and platforms
  • Concrete: \"base\" material, but not used for base roads in TM !
  • Dirt: used in dirt blocks
  • Grass: used in the default grass of the stadium (not to be mistaken with Green surfaces) and as a speed penalty surface
  • Green: used in synthetic grass platforms (not to be mistaken with Grass surfaces)
  • Ice: used in the colorable CustomIce material
  • Metal: used in black platform blocks
  • MetalTrans: mostly used on screens
  • NotCollidable: used for decals, to... not be collidable. But instead of using this PhysicsId, you should rather use the _notcollidable_ prefix in your fbx objects, as described in section How to create the fbx file.
  • Pavement: used in the colorable CustomBricks material
  • Plastic: used in inflatable items introduced in June 2021 update
  • ResonantMetal: also used in black platform blocks, usually makes a noise on collision
  • RoadIce: used in \"bobsleigh\" ice blocks
  • RoadSynthetic: used in bump roads
  • Rock: used in colorable CustomRock material
  • Rubber: used on the sides of the roads, gives speed penalty when hit
  • Sand: used as a speed penalty surface in dirt platform blocks
  • Snow: used in colorable CustomSnow material and as a speed penalty surface
  • TechMagnetic: not used in any game material, makes the car attracted to that surface
  • TechMagneticAccel: not used in any game material, makes the car attracted to that surface and gives it a better acceleration while on it
  • TechSuperMagnetic: not used in any game material, makes the car attracted strongly to that surface
  • Wood: used in colorable CustomRoughWood material
"},{"location":"create/nadeo-importer/04-how-to-create-the-meshparams-xml-file/#gameplayid-library","title":"GameplayId library","text":"

Here are the values you can use for the GameplayId attribute of the Material tag:

  • Bumper: makes the car bump a bit
  • Bumper2: makes the car bump a lot
  • Cruise: makes the car maintain its speed
  • ForceAcceleration: disables breaking until next Reset block or next checkpoint
  • Fragile: makes the car sensitive to hard bumps and crashes, making it harder to handle and accelerate the more damages it takes. Only gets back to normal with a Reset Block
  • FreeWheeling: entirely stops the engine until next Reset block or next checkpoint
  • NoBrakes: disables the car brakes
  • NoGrip: comparable to ice, but way less handling and no drift mechanic until next Reset block or next checkpoint
  • None: no gameplay effect (this is the default value for all game materials)
  • NoSteering: disables steering until next Reset block or next checkpoint
  • ReactorBoost: activates flames at the sides of the wheels that push the car upwards or downwards for some time or until next Reset block (direction of ReactorBoost is along Z-axis: towards positive Z is ReactorBoost Up and towards negative is ReactorBoost Down)
  • ReactorBoost2: same effect as ReactorBoost, but stronger
  • Reset: disables any ongoing gameplay effects
  • SlowMotion: slows down the behaviour of the car (but not the timer) for some time or until next Reset block
  • Turbo: \"yellow turbo\" blocks, sudden burst of acceleration (direction of Turbo is North / along Z-axis)
  • Turbo2: \"red turbo\" blocks, stronger burst of acceleration (direction of Turbo2 is North / along the Z-axis)
"},{"location":"create/nadeo-importer/04-how-to-create-the-meshparams-xml-file/#materials-compatible-with-gameplayid","title":"Materials compatible with GameplayId","text":"

Here are the values of attribute Link that enable the use of attribute GameplayId:

  • PlatformDirt_PlatformTech
  • PlatformGrass_PlatformTech
  • PlatformIce_PlatformTech
  • PlatformTech
  • RoadBump
  • RoadDirt
  • RoadIce
  • RoadTech
"},{"location":"create/nadeo-importer/05-how-to-create-the-item-xml-file/","title":"How to create the Item xml file","text":"

Just create an empty text file (which has the extension \".txt\" by default) and change its extension by renaming it {ItemName}.Item.xml (for example: Slope_Base.Item.xml).

Open this file in your favorite text editor (for example: Notepad++), and copy-paste the following template:

<Item Type=\"StaticObject\" Collection=\"Stadium\" AuthorName=\"YourAuthorName\">\n<MeshParamsLink File=\"Mesh/ItemName.MeshParams.xml\"/>\n<Waypoint Type=\"Checkpoint\"/>\n<Pivots>\n<Pivot Pos=\"0 0 0\"/>\n<Pivot Pos=\"0 0 -1.5\"/>\n<Pivot Pos=\"0 0 1.5\"/>\n</Pivots>\n<GridSnap HStep=\"8\" VStep=\"2\"/>\n<Levitation VStep=\"2\" GhostMode=\"true\"/>\n<PivotSnap Distance=\"0\"/>\n<Options OneAxisRotation=\"true\" ManualPivotSwitch=\"true\"/>\n</Item>\n

Then adapt it to your situation, according to the following explanations:

  • Item tag is mandatory
  • attributes:
    • Type is mandatory and should not be changed (\"StaticObject\")
    • Collection is mandatory and should not be changed (\"Stadium\")
    • AuthorName should be changed to the name you want to be called in the Trackmania creative community :)
  • sub-tags:
    • MeshParamsLink tag is mandatory
    • attribute:
      • File: Facultative. The relative path of the .MeshParams.xml next to the .fbx file. If omitted, the .MeshParams.xml will be expected to have the same name as current .Item.xml file and to be located in a sub-folder \"Mesh\".
    • Waypoint tag is facultative. Use it only if you are making an item which is a special waypoint of the map, like a checkpoint or a finish line.
    • attribute:
      • Type: mandatory. Must be one of the following: \"Start\", \"Checkpoint\", \"Finish\", \"StartFinish\" (\"StartFinish\" is used for multilaps).
      • Note: this is not enough to make a valid waypoint item. See section How to make a waypoint item for more information.
    • Pivots tag is facultative. See section Pivots and placement parameters for more information.
    • sub-tags:
      • Pivot: put one Pivot tag for each pivot you want to add to your item.
      • attribute:
        • Pos: Position of the pivot, in the base of your mesh. (0,0,0) would be the same origin as in the fbx file.
    • GridSnap tag is facultative
    • attributes:
      • HStep: Facultative. A positive real value in meters (0 by default). See Grid Horizontal Size in section Pivots and placement parameters for more information
      • VStep: Facultative. A positive real value in meters (0 by default). See Grid Vertical Size in section Pivots and placement parameters for more information
    • Levitation tag is facultative
    • attributes:
      • VStep: Facultative. A positive real value in meters (0 by default). See Fly Step in section Pivots and placement parameters for more information
      • GhostMode: Facultative. A boolean value: \"true\" or \"false\" (\"false\" by default). See Ghost Mode in section Pivots and placement parameters for more information
    • PivotSnap tag is facultative
    • attribute:
      • Distance: Mandatory. A positive real value in meters, or the special value -1 (-1 by default). See Pivot Snap Distance in section Pivots and placement parameters for more information
    • Options tag is facultative
    • attributes:
      • NotOnItem: Facultative. A boolean value: \"true\" or \"false\" (\"false\" by default). See Not On Object in section Pivots and placement parameters for more information.
      • OneAxisRotation: Facultative. A boolean value: \"true\" or \"false\" (\"false\" by default). See Yaw Only in section Pivots and placement parameters for more information.
      • ManualPivotSwitch: Facultative. A boolean value: \"true\" or \"false\" (\"false\" by default). See Switch pivot manually in section Pivots and placement parameters for more information.
      • AutoRotation: Facultative. A boolean value: \"true\" or \"false\" (\"false\" by default). See Auto Rotation in section Pivots and placement parameters for more information.

You should get something like this:

<Item Type=\"StaticObject\" Collection=\"Stadium\" AuthorName=\"NadeoSamples\">\n<MeshParamsLink/>\n<GridSnap HStep=\"8\"/>\n<Options OneAxisRotation=\"true\"/>\n</Item>\n
"},{"location":"create/nadeo-importer/06-how-to-add-an-icon-to-my-item/","title":"How to add an icon to my Item","text":""},{"location":"create/nadeo-importer/06-how-to-add-an-icon-to-my-item/#image-file-requirements","title":"Image file requirements","text":"

If you want to see an icon for your item in the Map Editor, you need to provide an icon file:

  • The icon must be a .tga file (mandatory)

  • The icon should have a resolution of 64x64 pixels (recommended)

You can create .tga files with a lot of bitmap image edition softwares, such as Gimp.

The resolution can be different than 64x64, but NadeoImporter will automatically transform it to a 64x64 image, embedded in the .Item.Gbx file.

"},{"location":"create/nadeo-importer/06-how-to-add-an-icon-to-my-item/#link-the-image-file-to-your-item","title":"Link the image file to your item","text":"

Unlike the reference to the .MeshParams.xml in the .Item.xml, or the reference to the .fbx in the .MeshParams.xml, the reference to the icon cannot be explicit, it is always implicit:

  • The icon must have the same base name as the .Item.xml file (but the extension must be .tga)

  • The icon must be placed in a sub-folder called \"Icon\".

For instance:

If you are trying to make an item from {Trackmania_user_dir}\\Work\\Items\\Samples\\StaticObjects\\Slope_Icon.Item.xml

then the program will look for this file: {Trackmania_user_dir}\\Work\\Items\\Samples\\StaticObjects\\Icon\\Slope_Icon.tga

If the file is not provided, the item will not have any icon in the Map Editor.

"},{"location":"create/nadeo-importer/06-how-to-add-an-icon-to-my-item/#about-file-size","title":"About file size","text":"

The icon will increase the size of the .Item.Gbx file by 16 Ko.

But when someone saves a map containing instances of your item, it will be embedded in the .Map.Gbx file without its icon, to save some memory (as the size of embeddable items is limited in .Map.Gbx files).

For example, if an item with an icon has a size of 20 Ko, it will only cost approximately 4 Ko in the .Map.Gbx file (even less than that, because embedded items are compressed).

"},{"location":"create/nadeo-importer/07-how-to-make-a-waypoint-item/","title":"How to make a waypoint item","text":"

You can make items which will be considered by the game as \"waypoints\": a start line, a checkpoint, a finish line or a multi-lap start-finish line.

  1. First you must add the Waypoint tag in the .Item.xml file, with the correct Type attribute (\"Start\", \"Checkpoint\", \"Finish\", \"StartFinish\"). See section How to create the Item xml file for more information.

  2. Wether your item is a \"Start\", \"Checkpoint\", \"Finish\" or \"StartFinish\" waypoint, the .fbx file must contain exactly one object called _socket_start. The location of this object is all that matters (its faces are ignored): it will determine the position of the car when we spawn or respawn on this waypoint.

  3. If your item is a \"Checkpoint\", \"Finish\" or \"StartFinish\" waypoint, then the .fbx file must contain at least one object with prefix _trigger_. These objects will not be visible but the game will detect when the car goes through its faces and trigger the checkpoint / finish event when it happens.

"},{"location":"create/nadeo-importer/08-pivots-and-placement-parameters/","title":"Pivots and placement parameters","text":"

Items made with NadeoImporter can be placed in maps with the Advanced Map Editor, in Item mode.

This article explains the influence of pivots and placement parameters on how the item is placed in the map.

You can set pivots and placement parameters in the .Item.xml file: see section How to create the Item xml file for more information.

"},{"location":"create/nadeo-importer/08-pivots-and-placement-parameters/#pivots","title":"Pivots","text":"

When you place an item in the map, the mouse cursor is aiming at a particular point in the map. But how should the item be placed compared to this point? If your item is a cube, should the editor place the item so that the cursor point is at the center of the cube ? Or the center of the bottom face? Or one corner of the cube?

Pivots are here to answer that question: a pivot is a point of the item that will coincide with the point of the map that is aimed by the cursor.

An item can have multiple pivots. In that case, the Map Editor might choose automatically one pivot according to the context, or you might be able to press the Q key (A with azerty keyboards) to cycle through the pivots of the current item: see the placement parameter Switch pivot manually for more information.

If an item has no pivot, the Map Editor will consider that it has one pivot at the coordinate (0,0,0).

Pivots can also be used as magnets to help align items when you place them on each other: see Pivot Snap Distance for more information.

"},{"location":"create/nadeo-importer/08-pivots-and-placement-parameters/#placement-parameters","title":"Placement parameters","text":"

These are advanced parameters to help mappers place the item in the map.

They are numerous and sometimes a bit difficult to understand. Just leave the default values, unless you have a specific need for your item.

Three of them are far more useful than all the others: Fly Step, Grid Horizontal Size and Ghost mode. You can read the explanations of these three and ignore all the others!

"},{"location":"create/nadeo-importer/08-pivots-and-placement-parameters/#main-placement-parameters","title":"Main placement parameters","text":"
  • Fly Step: If 0, the item will always be placed \"on something\": on the ground, on a wall, on another item, etc. whatever is aimed by the cursor. If greater than 0, the item can fly above the ground: each time you scroll with the mouse wheel (or press the PgUp/PgDown keys), the item will be offseted vertically by this step (in meters).

  • Grid Horizontal Size: If greater than 0, the item will be snapped to the intersections of an invisible horizontal grid, and the distance between the parallel lines of this grid will be this Grid Horizontal Size (in meters). If 0, there will be no horizontal snapping, you can place the item exactly where you want (but it will be difficult to align several items or align items with blocks).

  • Ghost mode: If activated, the item will never be placed \"on anything\", it will completely ignore surrounding blocks and items, going through them if necessary.

"},{"location":"create/nadeo-importer/08-pivots-and-placement-parameters/#advanced-placement-parameters","title":"Advanced placement parameters","text":"
  • Switch pivot manually: If activated, the only way to change the pivot to use will be the Q key (A with azerty keyboard). If deactivated, the Map Editor will automatically change the pivot according to the direction of the surface you are aiming with the cursor (for example it may select the lowest pivot if you are aiming at the floor, and the highest pivot if you are aiming at a ceiling). If the editor selects several pivot candidates, you can cycle through them with the Q key (A with azerty keyboard).

  • Fly Offset: Offsets vertically the invisible horizontal planes on which the cursor moves when it is in the air. For example, if the Fly Step parameter is 4 meters and the the Fly Offset is 0 meter, when you scroll with the mouse wheel, the cursor will move to the coordinates y = 0, 4, 8, 12, 16... m. But if you set the Fly Offset to 1 meter, then the cursor will be placed at y = 1, 5, 9, 13, 17... m. This parameter has no effect if Fly Step is 0.

  • Grid Horizontal Offset: It is recommended to leave this parameter to 0, unless you really know what you are doing. It offsets the horizontal grid by this amount of meters, in both horizontal axis (x and z). The only value that might be useful sometimes would be half of Grid Horizontal Size, but even in that case it is probably a better idea to divide Grid Horizontal Size by 2 instead.

  • Grid Vertical Size: If greater than 0, the item will be snapped on the vertical axis, and the value is the step of this snapping in meters. In other words, it sets the snapping along the y axis, just as the Grid Horizontal Size sets the snapping along the x and z axis. The difference with Fly Step is subtle: unlike Fly Step, Grid Vertical Size does not enable the item to fly. For instance, it can be used for an item which is meant to be placed on walls, to limit the available heights and then make it easy to align them. But if your item's Fly Step and Grid Vertical Size are both greater than 0, it is recommended to set the same value on both parameters.

  • Grid Vertical Offset: No effect if Grid Vertical Size equals 0. Otherwise, it offsets the available heights by this value in meters. For example, if Grid Vertical Size is 8 and Grid Vertical Offset is 2, the available heights are y = 2, 10, 18, 26, 34... m. If the item's Fly Offset is different from zero, it is recommended to put the same value in Grid Vertical Offset.

  • Yaw Only: If activated, the item can be rotated around the vertical axis only (y), by 90\u00b0 with the right mouse button, or by 15\u00b0 with the Numpad+ or Numpad- keys. If deactivated, it can also be rotated in other directions using the arrow keys.

  • Not On Object: If activated, the item cannot be placed on another item, it can only be placed on blocks (or in the air, if Fly Step is greater than 0). It is recommended to leave it deactivated.

  • Auto Rotation: If activated, the Map Editor will try to automatically rotate the item you are about to place according to the direction of the surface you are aiming at with the mouse pointer. It can be useful for items which are supposed to stay perpendicular to the ground for example. Note: this will not work if there is any grid snapping, so both Grid Horizontal Size and Grid Vertical Size must be set to 0.

  • Pivot Snap Distance: When you are about to place a new item on another item (in other words the mouse pointer is aiming at an item already placed on the map), the editor might try to snap the new item so that its current pivot would be placed exactly at the same spot as one of the pivots of the other item, as if the pivots of the already placed item were magnets that attract the pivot of the new item. If you do not want this feature for your item, set the value to 0. Otherwise, choose a positive value which will be the distance of this attraction (in meters), or use the special value -1 to let the editor choose an automatic distance.

"},{"location":"create/nadeo-importer/08-pivots-and-placement-parameters/#about-free-ground-item-and-free-item-modes","title":"About Free ground item and Free item modes","text":"

When you are already in Item mode in the Map Editor, you can activate the \"Free ground item mode\" or \"Free item mode\" by clicking several times on the tree-shaped Item mode icon (the shape of the item mode icon changes).

In these modes, all the placement parameters of the current item are ignored and replaced by some default parameters with tiny Grid Horizontal Size.

The difference between \"Free ground item mode\" and \"Free item mode\" is that \"Free item mode\" also has a tiny Fly Step (instead of 0) and Ghost Mode.

"},{"location":"create/nadeo-importer/09-about-mesh-shape-and-mat-gbx-files/","title":"About Mesh, Shape and Mat Gbx files","text":"

Those who have been using the old NadeoImporter from Maniaplanet might wonder what happened to .Mesh.Gbx, .Shape.Gbx and .Mat.Gbx files that .Item.Gbx used to depend on.

The short answer is: \"forget about them\". NadeoImporter and in-game editors usually produce .Item.gbx files which have no external dependencies (which means if you want to give this item to a friend you can juste give them the .Item.Gbx file, there is no other file it depends on).

However it is still possible to make .Mesh.Gbx, .Shape.Gbx or .Mat.Gbx files, but for very specific purposes. If you are curious, see the details below.

"},{"location":"create/nadeo-importer/09-about-mesh-shape-and-mat-gbx-files/#mesh-and-shape-files","title":"Mesh and Shape files","text":"

You can create .Mesh.Gbx and .Shape.Gbx files with the following command line:

.\\NadeoImporter Mesh {fbxSourceFileNameRelativeToWorkFolder}\n

For instance:

.\\NadeoImporter Mesh Items\\Samples\\StaticObjects\\Mesh\\Slope_Base.fbx\n

But you cannot use those files to build a .Item.Gbx files (there are no more Phy and Vis tags in the .Item.xml, where there used to be an explicit link to .Mesh.Gbx and .Shape.Gbx files).

The only use of those files now is that you can import them in the Mesh Modeler (the in-game 3d mesh editor, that you can access through the Map Editor, by creating an item, and editing its mesh).

"},{"location":"create/nadeo-importer/09-about-mesh-shape-and-mat-gbx-files/#mat-gbx-files","title":"Mat Gbx files","text":"

.Mat.Gbx are \"custom material\" files, which usually depend on several .dds \"texture\" files.

It is still possible to create such files from the Mesh Modeler, but it is generally not recommended, because the Map Editor will refuse to embed into the .Map.Gbx file any item which depends on a .Mat.Gbx file.

If you save your map containing those items with custom materials anyway, you will still be able to open it in the Map Editor, but not anywhere else (not even in Local > Play a map).

So there is not much point to create \"custom materials\", but it might still be useful to shoot nice videos from the Media Tracker (that you can access from the Map Editor).

"},{"location":"create/parallax-signs/","title":"Parallax Signs","text":"

Parallax Signs are ZIP-files containing a couple of .dds files (\"Direct Draw Surface\") and a Skin.json file.

"},{"location":"create/parallax-signs/#create-your-dds-files","title":"Create your DDS files","text":"

First you need a drawing program that allows you to draw your image in mutiple layers. Choose any you are comfortable with like Photoshop, gimp, paint.NET, Krita, etc..

Parallax signs come in 3 different formats: 1x1, 2x1, and 4x1. Make sure to choose the dimensions of your image to fit one of these formats. (e.g. 1024x256, 1024x512, 1024x1024).

Note: Parallax signs allow for a maximum of 8 layers.

Once you have drawn your image, export each layer into a separate .dds file. If your program doesn't support exporting to .dds, just export each layer as .png and convert those files to .dds via a png to dds conversion tool. Make sure to name your files in a way that you easily remember their order from foreground to background.

"},{"location":"create/parallax-signs/#create-your-skinjson-file","title":"Create your Skin.json file","text":"

The Skin.json file is a simple text file. You can open and edit it with any text editor that can open .txt files (like Notepad). It looks something like this:

{\n\"ClassId\": \"Parallax\",\n\"Layers\" = [\n{\nName = \"Layer1.dds\",\nDepth= \"50\"\n},\n{\nName = \"Layer2.dds\",\nDepth= \"100\"\n},\n{\nName = \"Layer3.dds\",\nDepth= \"500\"\n},\n{\nName = \"Layer4.dds\",\nDepth= \"1000\"\n}\n]\n}\n

In this example Layer1.dds is the name of the file displayed in the foreground and Layer4.dds is the name of the file displayed all the way in the background. Additionally to the order each Layer gets a property Depth. This indicates how \"far away\" the layer is supposed to be. This is what will cause the parallax effect ingame.

Note: You can choose any Depth you like for every layer, even higher values for layers in the foreground and lower values for layers in the background.

"},{"location":"create/parallax-signs/#create-and-use-the-parallax-file","title":"Create and use the Parallax File","text":"

Once you have created both your .dds files and our Skin.json file, select all the files and put them into a .zip file. Depending on the format you chose for your parallax sign, save that zip file to one of these folders (if they don't exist, create them):

  • Documents\\Trackmania\\Skins\\Any\\Advertisement1x1
  • Documents\\Trackmania\\Skins\\Any\\Advertisement2x1
  • Documents\\Trackmania\\Skins\\Any\\Advertisement4x1

Now start (or restart!) Trackmania, go into the map editor, place a sign and select the Skin Mode (F5). Click in the sign you placed and your parallax sign should be selectable from the menu.

Note: Selecting a sign or iamge from your local disc does NOT make it available to other players who download and play your map. In order to do that you need to upload your file somewhere (like dropbox, Google Drive, or ManiaCDN) and then create a locator file (.loc) for your parallax sign. (The locator file for MyParallax.zip must be named MyParallax.zip.loc and contains a single line with the url where the zip file can be downloaded from)

"},{"location":"create/texture-mods/hosting/","title":"Mod hosting guide","text":"

Once you're done in ModWork and you're happy with your changes, it's time to save your texture files as a proper mod.

"},{"location":"create/texture-mods/hosting/#package-your-mod","title":"Package your mod","text":"
  1. Create a .zip file of your ModWork directory and place it in Trackmania\\Skins\\Stadium\\Mod - create the folder if you don't have it yet.
  2. Ensure the .zip contains this structure: \\Image\\imagetexturefiles.dds.
"},{"location":"create/texture-mods/hosting/#upload-your-mod","title":"Upload your mod","text":"

Because the player will need to download the mod on the fly, you need to upload it to a commonly accessible place.

Generally, you can host your mod anywhere you want as long as it's a direct link. Here are the most common choices:

  1. Discord: All files uploaded to Discord are publicly accessible - so you can just upload the mod in a private server and copy the file link (make sure you don't accidentally copy the message link instead!). Discord comes with a file size limit of 8MB by default and up to 500MB for Nitro users.
  2. ManiaCDN: This is a free hosting service for the Trackmania community. All uploads are manually approved, so your mod might not be available immediately. But it's a cool service, especially since it's free and supported by the community.
  3. Github: Typically Github and other git hosts are meant for storing code and other technical assets, but you can also host generic files on there. Just make sure you can get a direct link to the file that's publicly accessible.
  4. Dropbox, Google Drive and other cloud storage providers: These mostly work fine, but some of them might limit downloads after a certain number of accesses. If your mod gets used in a competition and only the first 1000 players are able to download it, that might be a problem.
"},{"location":"create/texture-mods/hosting/#reference-your-mod-in-your-map","title":"Reference your mod in your map","text":"

There's two ways to go about this. If you don't know which one you need, the direct link approach is probably fine.

Before you get started, make sure your link is really pointing at the .zip file.

"},{"location":"create/texture-mods/hosting/#direct-link-method","title":"Direct link method","text":"
  1. Copy the direct link to your mod you uploaded earlier.
  2. Hold CTRL when opening your map in Trackmania and paste the link in the URL input field.
  3. Save your map.
"},{"location":"create/texture-mods/hosting/#locator-file-method","title":"Locator file method","text":"
  1. Create a new text file and paste the direct link to your mod into it.
  2. Save it as YOURMODNAME.zip.loc and place it in Trackmania\\Skins\\Stadium\\Mod.
  3. Hold CTRL when opening your map in Trackmania and point to the mod you placed in Trackmania\\Skins\\Stadium\\Mod. It should already be in the little green day/sunset/night window in Trackmania as an easy pick.
  4. Save your map.
"},{"location":"create/texture-mods/mods/","title":"Introduction","text":"

Using texture mods, you can totally change the appearance of the game - basically it lets you create custom textures for existing and custom blocks and items.

The limit is your imagination (and maybe the download speed of the player).

"},{"location":"create/texture-mods/mods/#building-your-mod","title":"Building Your Mod","text":"
  1. To get started, you'll want to download the base game texture files (maintained by Zai). Extract these textures to a folder you can easily access and don't touch the files besides copying them; you can copy/paste the files you need later, keeping the originally extracted textures as they are.
  2. ModWork is an easy and fast way to see your mod locally as you work. Its biggest pro is that you don't have to restart your game every time you author a new texture. Just save the texture and alt-tab back into the game for instant updates!
  3. Trackmania textures are based on the PBR workflow. The way the textures are comprised is very common in other recent video games. For Trackmania mods, texture formats are stored as .dds files - if you use Photoshop, the free tool NVIDIA Texture Tools Exporter is perfect for authoring .dds textures; it also automatically creates mipmaps! Technically .png files are supported as well, but it's strongly recommended to stick to .dds - .png does not support mipmaps, which significantly improve how textures are shown/filtered at a distance. To get started, drag the texture you want to edit from the ModWork folder into an image editor of your choice and do your magic. Check out the Texture List for a quick reference of the different texture formats. If you're looking for creative commons-licensed textures to use, check out this list of texture sites (compiled by BigthirstyTM).
"},{"location":"create/texture-mods/mods/#folder-structure","title":"Folder Structure","text":"

In order for the mod to work properly, your textures need to be placed in the proper directories.

  • \ud83d\udcc1 ModName.zip: A zip folder named however you choose.
    • \ud83d\udcc1 Image: The majority of your textures go here.
    • \ud83d\udcc1 Moods: Contains ambience textures, like the skybox.
    • Car Effects: Modified car textures sit directly in the zip, they don't have a subfolder.
"},{"location":"create/texture-mods/mods/#applying-and-hosting-your-mod","title":"Applying And Hosting Your Mod","text":"

Mods are not contained in the maps they're associated with - instead the players will automatically try to download the mod when they open the map. To make sure it all goes smoothly, you'll want to make sure your mod is accessible and referenced correctly.

As a side note: Keep in mind players with slow connections may take a while to get the mod. If they're playing on a server, there's a chance they won't get the mod until they reload the map. So it's worth testing the map without the mod and making sure it's playable.

Once you're happy with your mod, check out the mod hosting guide to see how you can make it available for other players.

"},{"location":"create/texture-mods/mods/#troubleshooting","title":"Troubleshooting","text":"

Texture mods can be a challenge - there's lots of things that can trip you up. For answers to the most common questions, see the mods troubleshooting page.

"},{"location":"create/texture-mods/modwork/","title":"ModWork","text":"

ModWork is an easy and fast way to see your mod locally as you work. Its biggest pro is that you don't have to restart your game every time you change one of your textures. Just save the texture and alt-tab back into the game for instant updates!

  1. Go to C:\\Users\\you\\Documents\\Trackmania\\Skins\\Stadium\\ and create a folder called ModWork. In this folder create another folder called Image.
  2. Any textures you want to mod now go into Trackmania\\Skins\\Stadium\\ModWork\\Image. Make sure you add the textures you want to edit to ModWork\\Image before editing them.
  3. Open the game and start editing the textures. If you want to add textures to the folder later you'll need to reload the map.

The game checks (only) on map load what files are in ModWork and it checks the .dds compression if you use .dds files.

Note: If you add new image files to the ModWork folder or you change the .dds compression of an image, you need to reload the map.

"},{"location":"create/texture-mods/texture-list/","title":"Texture List","text":"

This is a living document - if you see something inaccurate/missing, feel free to contribute.

"},{"location":"create/texture-mods/texture-list/#suffixes","title":"Suffixes","text":"Suffix Format Filetype Purpose Notes _D Diffuse DDS (BC1)DDS (BC3 if transparent) Base image/texture _H DDS (BC1) Height Grey (128,128,128) is levelBlack (0,0,0) lowers elevationsWhite (255,255,255) raises elevation _I Ilium InsideColorColorization of things behind glass Multiplication before applying glass layers _L Color of lightbulbs/LEDs Displaced by _H _M DDS (BC1) Mask (black/white) Color is determined by DecalPaint_D _N Normal DDS (BC5) Texture that stores a direction at each pixel _O _R Roughness DDS (BC5) Roughness (matte/shiny)Metallic Can be kept as greyscale (BC1) if not used. _T _X2 DDS (BC1) Large overlay for color values Upscaled texture for CustomMaterial projection"},{"location":"create/texture-mods/texture-list/#hue-masks","title":"Hue Masks","text":"
  • _HueMask
  • _HueMask2
  • _HueShiftMask

These textures determine what is tintable and what isn't - they use the RGB channels. Red and Blue are kept black, Green follows these rules:

  • White pixels determine what is colorable.
  • Black pixels determine what isn't.
  • Greyscale can be used to blend with the corresponding material's _D color.
"},{"location":"create/texture-mods/texture-list/#image","title":"\ud83d\udcc1 Image","text":"Name Used For _D _H _I _L _M _N _O _R _T _X2 _HueShiftMask Ad1x1Screen \"Default\" 1x1 Sign Ad2x1Screen \"Default\" 2x1 Sign Ad4x1Screen \"Default\" 4x1 Sign AdScreenOff \"Off\" Sign Chrono _D _H _I _L _N _R ChronoCheckpoint _I ChronoFinish _I CustomBricks _D _N _R CustomConcrete _D _N _R _X2 CustomDirt _D _N _R CustomGrass _D _N _R CustomIce _D _N _R CustomMetal _D _N _R CustomMetalPainted _D _N _R CustomModColorize _D _N _R _HueShiftMask CustomModDecal _D _N _R CustomModOpaque _D _N _R CustomModSelfIllum _D _H _I _L _N _R CustomModTrans _D _N _R CustomPlastic _D _N _R CustomRock _D _N _R CustomRockPxz _D _N _R CustomRockPy _X2 CustomRoughWood _D _N _R CustomSand _D _N _R CustomSnow _D _N _R _X2 DecalCurbs _D _N _R DecalLogo4x1 _M DecalLogo8x1 _M DecalMarks _D _N _R DecalMarksItems _D _N _R DecalMarksRamp _D _N _R DecalMarksStart _D _N _R DecalObstaclePusher _D _N _R DecalObstacleTube _D _N _R DecalObstacleTurnstile _N _R DecalObstacleTurnstileLeft _D DecalObstacleTurnstileRight _D DecalPaint _D _N _R DecalPaint2 _D DecalPlatform _D _N ^1^ _R DecalPlatformDirt _D DecalPlatformGrass _D DecalPlatformIce _D DecalPlatformPlastic _D DecalSpecial _N _R DecalSpecialBoost _D DecalSpecialBoost2 _D DecalSpecialCruise _D DecalSpecialFragile _D DecalSpecialNoBrake _D DecalSpecialNoEngine _D DecalSpecialNoSteering _D DecalSpecialReset _D DecalSpecialSlowMotion _D DecalSpecialTurbo _D DecalSpecialTurbo2 _D DecalSpecialTurboRoulette _D DecalSponsor1x1BigA _D _N _R DecalSponsor4x1A _M DecalSponsor4x1B _M DecalSponsor4x1C _M DecalSponsor4x1D _M DecoHill _D _N _R DecoHill2 _D DecoHillDirt _D _N _R DecoHillDirt2 _D DecoHillDirtPy _D _N _R DecoHillIce _D _N _R DecoHillIce2 _D DecoHillIcePy _D _N _R DecoHillPy _D _N _R DirtPy _D _N _R _X2 GlassWaterWall _N _O _R _T Grass _D _N _R _X2 GrassFence _D IceMarks _M _N _R IcePy _N _R ItemAd1x1ScreenSmall _I ItemAd1x1ScreenSmallB _I ItemAd1x1ScreenSmallC _I ItemAd1x1ScreenSmallWrongWay _I ItemBase _D _N _R ItemBorder _D _N _R ItemCactus _D _N _R ItemCherryTreeBranch _D _N _R ItemCherryTreePetals _D _N ItemCypressBranch _D _N _R ItemFallTreeBranch _D ItemFallTreePetals _D _N ItemFirBranch _D _N _R ItemFirSnowBranch _D _N _R ItemFlag _D _R ItemInflatableFloor _D _N _R ItemInflatableMat _D _N _R ItemInflatableTube _D _N _R ItemLamp _D _H _I _L _N _R ItemLampB _I ItemLampC _I ItemObstacle _D ^2^ _N _R ItemObstacleLight _D _H _I ^2^ _L _N _R ItemObstaclePusher _D ^2^ _N _R ItemPalmTreeBark _D _N _R ItemPalmTreeBranch _D _N _R ItemPillar _D _N _R ItemRamp _D _N _R ItemRoadSign _D _N _R ItemSpectator _D _N _R ItemSpringTreeBranch _D _N _R ItemSupportConnector _D _N _R ItemSupportTube _D _N _R ItemTrackBarrier _D ^3^ _N _R ItemTrackBarrierB _D ^3^ ItemTrackBarrierC _D ^3^ ItemTreeTrunk _D _N _R LightCells _N _R LightCells2 _D _H _L _N _R LightCells3 _D _H _L _N _R LightSpot _D _H _I _L _N _R LightSpot2 _D _H _L _N _R OpenDirtBorders _D OpenGrassBorders _D OpenIceBorders _D OpenTechBorders _D _N _R PlatformGrass _D _N _R PlatformIce _D _H PlatformTech _D _N _R Pylon _D _N _R RaceAd6x1 RaceArch _D _H _L _N _R RaceArchCheckpoint _I RaceArchFinish _I RaceScreenStart _I RoadBump _D _N _R RoadDirt _D _N _R RoadIce _D _H RoadTech _D _N _R ScreenBack _D _N _R ScreenPusher _D _H _I _L ^2^ _N _R SpecialFXBoost _I SpecialFXBoost2 _I SpecialFXCruise _I SpecialFXFragile _I SpecialFXNoBrake _I SpecialFXNoEngine _I SpecialFXNoSteering _I SpecialFXReset _I SpecialFXSlowMotion _I SpecialFXTurbo _I SpecialFXTurbo2 _I SpecialFXTurboRoulette ^4^ _I SpecialSignBoost _I SpecialSignBoost2 _I SpecialSignBoost2Down _I SpecialSignBoostDown _I SpecialSignCruise _I SpecialSignFragile _I SpecialSignNoBrake _I SpecialSignNoEngine _I SpecialSignNoSteering _I SpecialSignOff _I SpecialSignReset _I SpecialSignSlowMotion _I SpecialSignTurbo _I SpecialSignTurbo2 _I SpecialSignTurboRoulette _I Speedometer _D _I _N _R Structure _D _N _R Technics _D _N _R TechnicsSpecials _D _N _R TechnicsTrims _D _N _R TrackBorders _D _H _I _L _N _R TrackWall _D _N _R TrackWallClips _D _N _R TrackWallPxz _D _N _R TrackWallPy _X2 Underwater _D _N _R WarpGlass _D _N Water_SxSySz WaterBorders _D _N _R WaterFog Waterground _D _N _R

Notes:

  • DecalPlatform has two _N textures, one DDS and one TGA.
  • Add a second suffix depending on type of obstacle:
    • Pink: _DiscontinuousLevel0
    • Violet: _DiscontinuousLevel1
    • Indigo: _DiscontinuousLevel2
    • Yellow: _Level0
    • Orange: _Level1
    • Red: _Level2
  • ItemTrackBarrier_D uses _HueMask. ItemTrackBarrierB_D and C_D use _HueMask2.
  • SpecialFXTurboRoulette_LightColor exists.
"},{"location":"create/texture-mods/texture-list/#car-effects","title":"Car Effects","text":"Name Used For AirBubble_Medium AirBubble_Small AnimBoost_D AnimBoost_Turbo_D AnimBoost_Turbo2_D AnimBoost_TurboRoulette2_D AnimBoost_TurboRoulette3_D AnimFire_D AnimNitro_D AsphaltMarks AsphaltSmoke CarLights CommonCarDetails CommonCarShadowProj CommonCarWheelShadowProj DirtGravels DirtMarks DirtSmoke DirtSmokeHovering GrassMarkGround HeadLightsProj IceMarks_A IceMarks_N IceMarks_RoughMetal Sand SandMarks SandSmoke SmokeWLightmap_D SmokeWLightmap_LM Snow SnowMarks SnowSmoke Sparkle StadiumCarIcon StemFoamFxd VehicleFXFlare WaterSplash WaterWake_N WetWheelsMarks WetWheelsMarks_RM"},{"location":"create/texture-mods/troubleshooting/","title":"Mod troubleshooting","text":"

Working with mods doesn't always give you obvious errors, and you might not understand why something isn't working. This page has a few troubleshooting tips for common grievances while creating mods.

"},{"location":"create/texture-mods/troubleshooting/#my-final-mod-file-is-over-100mb-how-do-i-size-it-down","title":"My final mod file is over 100MB! How do I size it down?","text":"

You can scale any texture as low and as high as you want. Most default textures can be saved as half their original resolution. Since using mods causes (mostly minimal) performance drops, it's good advice to not go beyond 2048x2048px as your maximum texture resolution. Remember: Textures you didn't edit do not need to be in the mod file. The game will use default textures (and resolution) for textures that are not in the mod file.

"},{"location":"create/texture-mods/troubleshooting/#my-textures-look-full-of-artifacts-or-have-strange-colors-after-exporting","title":"My textures look full of artifacts or have strange colors after exporting","text":"

Make sure your R_ texture is set up properly. If the original texture uses Metallic at all, it's best to keep it as BC5 and edit the color channels accordingly.

"},{"location":"create/texture-mods/troubleshooting/#i-went-back-to-my-game-after-exporting-but-it-didnt-update-the-texture-in-game","title":"I went back to my game after exporting but it didn't update the texture in-game","text":"

Place your car or go back into the editor camera and it should force the update.

"},{"location":"create/texture-mods/troubleshooting/#my-image-editor-is-saying-the-file-is-already-in-use","title":"My image editor is saying the file is already in use","text":"

Place your car or go back into the editor camera and export again.

"},{"location":"create/texture-mods/troubleshooting/#i-cant-change-the-mood-setting-in-game-anymore","title":"I can't change the mood setting in-game anymore","text":"

Mods overwrite the mood setting. Go back to the menu and hold CTRL while picking your map. There you can change the mood and select the mod.

"},{"location":"create/texture-mods/troubleshooting/#i-want-to-convert-an-image-to-pbr-textures-any-way-i-can-do-that-without-professional-editing-software","title":"I want to convert an image to PBR textures, any way I can do that without professional editing software?","text":"

There are several tools and websites that you can use to transform pictures into PBR textures. One you could use is Materialize. Note: While these tools give decent results depending on the source image, it's nowhere near as accurate as a properly captured/created PBR texture. Feeding these tools an image will often result in approximations rather than true PBR textures, since they can't actually calculate depth or specular information from a simple picture. Essentially they're just filters.

"},{"location":"create/texture-mods/troubleshooting/#ive-seen-people-create-snowy-rocks-how-do-i-do-this-with-a-mod","title":"I've seen people create snowy rocks, how do I do this with a mod?","text":"

CustomRock is broken up in two materials; one for top-down projection and one for side projection. It's a technique called Triplanar Projection Mapping. The top projection is controlled by the CustomRock material. The side projection is controlled by the CustomRock_pxz material. You can also modify the color difference overlay using customrock_x2. Essentially, if you modify the top projection CustomRock material into having a white texture, you get snowy rocks.

"},{"location":"create/texture-mods/troubleshooting/#how-can-i-pack-my-textures-if-i-dont-have-an-image-editor-that-supports-it","title":"How can I pack my textures if I don't have an image editor that supports it?","text":"

The free tool Channel-packing can be used to pack textures together (think Metallic/Roughness, Alpha).

"},{"location":"create/texture-mods/troubleshooting/#how-do-i-use-one-of-the-official-stadium-less-map-bases-together-with-a-mod","title":"How do I use one of the official stadium-less map bases together with a mod?","text":"

You need to use the Decoration Unlocker Openplanet plugin. Simply install the plugin, hold CTRL and click the map to open the editor, and you'll get a popup where you can pick your mod without the stadium!

"},{"location":"general/","title":"Trackmania documentation","text":"

This is a work in progress website.

"},{"location":"general/#contribute","title":"Contribute","text":"

Feel free to contribute through the github project.

"},{"location":"general/code-of-conduct/","title":"Trackmania - Code of Conduct","text":"

This code of conduct is for Trackmania and game (the \u201cGame\u201d) and is supplemental to the Ubisoft Terms of Use, where applicable. Please refer to such terms for an in-depth breakdown of our conduct rules. Capitalized terms used in this Code of Conduct shall have the respective meanings specified in the Terms of Use.

"},{"location":"general/code-of-conduct/#responsibility","title":"RESPONSIBILITY","text":"

Ubisoft cannot be held responsible for the actions or comments made by Users in the various areas of the Game, forums, or other social media outlets. Ubisoft reserves the right to remove any and all content published by a User without prior warning or notification.

We strongly advise you not to give personal or Account information to anyone. This includes information that can be used to identify you (social security number, telephone number, physical address, etc.) or information that may be used to compromise your Account (personal email address, answers to your security questions, etc.).

Please note that a representative of Ubisoft will never ask you for your password.

"},{"location":"general/code-of-conduct/#code-of-conduct","title":"CODE OF CONDUCT","text":"

When you play any of the Game, you must respect other Users and their user rights. The following points will be enforced by the Ubisoft staff:

Any suspected breach of the Code of Conduct or Terms of Use will lead to an investigation. Ubisoft reserves the right to suspend, ban, or delete any User\u2019s Account without prior warning or notice.

When using the services provided by Ubisoft, Users may not engage in or encourage any illegal behavior or communications concerning such.

Users will follow all instructions given to them by the Ubisoft staff. Non-compliance of the User regarding any request made by a Ubisoft employee will be considered a breach of the Code of Conduct, and may lead to Account suspension or revocation.

The User will respect the rules detailed in this Code of Conduct when using the services offered by Ubisoft and the Game. The following list of forbidden conduct gives examples of unacceptable behavior, but should not be considered exhaustive.

"},{"location":"general/code-of-conduct/#forbidden-conduct","title":"FORBIDDEN CONDUCT","text":"

The following actions are forbidden, and can lead to a disciplinary action in accordance with the Disciplinary Policy outlined below.

Harassing or bullying other players via verbal or written communications.

Any language or content deemed illegal, dangerous, threatening, abusive, obscene, vulgar, defamatory, hateful, racist, sexist, ethically offensive or constituting harassment.

Impersonation of any other player or Ubisoft employee.

Any conduct which interrupts the general flow of Gameplay in the Game client, forum, or any other Ubisoft medium.

Verbal or written abuse targeted toward a Ubisoft employee.

Use of macros.

Any attempt to edit, corrupt or change Games or server code. Any such behavior will result in the immediate cancellation of the Account, and may even give rise to personal liability and/or penal penalties.

Use of third-party hacking, cheating or botting clients.

The purchase of in Games benefits, including but not limited to \u201cMMR boosting services\u201d from unlicensed vendors, as well as the promotion of such services.

Use of alternate accounts in order to boost another account in matchmaking or in order to take multiple places in the leaderboards, this is known as \"smurfing\".

Exploitation of any new or known bug or glitch for personal gain is strictly forbidden and may result in character rollback, Account suspension or revocation.

"},{"location":"general/code-of-conduct/#user-names","title":"USER NAMES","text":"

The following rules clarify the types of names that you may not use:

You may not use a name that is contrary to the Code of Conduct. This includes the use of names of a hateful, racist, defamatory, ethnically offensive, obscene, vulgar or sexually explicit nature, as well as any other offensive wording.

You may not use names that lead to the harassment or slander of other Users.

You may not use the name of any Ubisoft employee.

You may not use a name of a character, object or product covered by copyright or trademark.

You may not use a name from popular culture or the media.

You may not use a name with a religious or historical connotation.

You may not use a name linked to a terrorist organization or activity.

Ubisoft strictly reserves the right to use the names linked to the Game license.

You may not use a name that refers to an illness, medicine, drug or alcohol.

You may not use any name that breaks any of the aforementioned rules via the association of the first name and surname.

You may not use a name containing spelling mistakes or written in such a way as to break one of the aforementioned rules.

"},{"location":"general/code-of-conduct/#disciplinary-policy","title":"DISCIPLINARY POLICY","text":"

In the event of a Code of Conduct violation, disciplinary action will be taken. Depending on the seriousness of the violation, sanctions can range from a warning to a permanent ban.

Below are examples of behavior that could lead to your Account being banned from playing online or restricting your access in other ways from the Game:

Cheating / Modding / Hacking: Player is running a modified or otherwise unauthorized version of the Game client or a third party software which provides any sort of unfair advantage or causing detriment to other players\u2019 experience.

Offensive Language or Behavior / Threats: Posting or publishing (public forums, private chats or VOIP) any language or content that is in violation of this Code of Conduct.

Harassment: Harassing or serious bullying other players via verbal or written communications in the in-Game chat, and outside the Game (public forum).

Advertising / Spamming: Disrupting the conversation flow for personal or commercial purposes with repeated posting of a similar nature.

Phishing / Scamming: Any attempt to fraud or mislead other players to gain personal or financial advantage, including but not limited to: personal information, credit cards etc.

"},{"location":"general/code-of-conduct/#disputing-account-sanctions","title":"DISPUTING ACCOUNT SANCTIONS","text":"

If you have a question or wish to dispute an Account sanction that you have incurred, please send a request to Customer Support. Please be sure to include all relevant information. We will reply to your questions as promptly as possible.

"},{"location":"general/code-of-conduct/#account-security","title":"ACCOUNT SECURITY","text":"

The User alone is responsible for the security of his/her Account, including protecting his/her system and Account from being compromised.

PLEASE RESPECT THE CODE OF CONDUCT

Help us make this site, the Game and the forums a welcoming community space. Respect the Code of Conduct and encourage others to do the same. If you meet users who are not familiar with the Code of Conduct, politely encourage them to read it.

"},{"location":"general/crossplay-and-crossprogression/","title":"Crossplay and Cross-progression","text":"

Trackmania (2020) is available on multiple different platforms, all of which can play with each other.

This is achieved via your Ubisoft account, which you need to use to log in on all platforms.

"},{"location":"general/crossplay-and-crossprogression/#crossplay","title":"Crossplay","text":"

By default, you can encounter players from all other platforms on map leaderboards, servers and game modes (unless the specific platform does not support a given feature in general - e.g. dedicated servers on consoles).

That means map and campaign leaderboards are generally not separated by platform and are instead global.

If you'd like to disable that, you can uncheck the Cross Platform Play setting in the System settings menu.

"},{"location":"general/crossplay-and-crossprogression/#cross-progression","title":"Cross-progression","text":"

It's possible to play Trackmania (2020) on different platforms using the same Ubisoft account - by doing that, you keep most of your account's progression in sync and don't have to start from scratch.

Here's a non-exhaustive list of things that are covered by Trackmania's cross-progression:

  • trophies and account statistics
  • uploaded map records
  • uploaded maps
  • favorited maps
  • club memberships
  • your selected custom skin, club tag and pinned club

Some features of the game are however restricted to the platform they're being used on:

  • locally saved (but not uploaded) maps
  • locally saved (but not uploaded) skins
  • replay files

Author: tooInfinite

"},{"location":"general/differences-between-the-accesses/","title":"Differences between the accesses","text":"

Trackmania (2020) has two levels of access, Starter access for free, and Club access which offers the full Trackmania experience.

For a detailed list of all features sorted by the access level that unlocks them, see the official chart.

About expired subscriptions

All content that you pay for will still be available after your subscription runs out (that includes all the campaign and TOTD tracks during your subscription).

"},{"location":"general/how-to-report-player/","title":"How to report a player","text":"

All Trackmania players have to follow the official Trackmania Code of Conduct.

When encountering players in the game that you want to report for their in-game behavior or for cheating, you can do one of the following:

  • Report them in-game.
  • Report them via the official Trackmania website.
  • Report them through the relevant Ubisoft support form.

See the sections below for detailed instructions.

All submitted cases will be referred to the people in charge at Nadeo - keep in mind however that you will not receive details as to which actions were taken, if any. Please use these official channels only and do not use social media, DMs, the official TM Discord or any other place to report someone.

"},{"location":"general/how-to-report-player/#in-game-reports","title":"In-game reports","text":"

In-game, visit the player's profile (e.g. by clicking their name in a room's leaderboard and selecting their profile) and find the Report button on that screen.

Then just follow the on-screen instructions to send your report.

"},{"location":"general/how-to-report-player/#reporting-records","title":"Reporting records","text":"

You can also report a player's record in-game (for example if it was cheated or is otherwise invalid).

Open the pause menu and select View records - you now have additional options when going through the leaderboard records on the left side of the screen. Having the record in question highlighted and pressing the mentioned button to get to the player's profile will give an additional Record option when using the Report button on the profile.

"},{"location":"general/how-to-report-player/#trackmania-website","title":"Trackmania website","text":"

Visit the official Trackmania website, log in and find the offending player. If you're having trouble with that, you can search for them on trackmania.io first and use the Trackmania.com button on there to get to the right place.

On that page, find the Report button - it might be hidden in a dropdown menu. Follow the instructions there to send your report.

Note that using this website, you can also report individual maps and/or clubs - just find their page and click the Report button.

"},{"location":"general/how-to-report-player/#ubisoft-support","title":"Ubisoft support","text":"

Head over to the official Ubisoft Support website. Make sure you're logged in, otherwise the site won't let you submit a report.

  • Game: Trackmania
  • Platform: Your platform of choice
  • Category: Player Reports, Bans, and Sanctions
  • Sub-Category: Learn the Rules/Report a player

Using these settings, you'll also be able to attach screenshots and other files using the Attach documents option. Note that selecting Report a player will initiate a live chat with a support agent, while Learn the Rules just requires you to send a report.

Author: tooInfinite

"},{"location":"play/","title":"Trackmania documentation","text":"

This is a work in progress website.

"},{"location":"play/#contribute","title":"Contribute","text":"

Feel free to contribute through the github project.

"},{"location":"play/how-to-play-cotd/","title":"How to play Cup of the Day?","text":"

Paid access required

This feature requires an active Standard Access or Club Access subscription.

"},{"location":"play/how-to-play-cotd/#what-is-the-cup-of-the-day","title":"What is the Cup of the Day?","text":"

Cup of the Day is a daily competition that is being played in the Knockout game mode on the current Track Of The Day. COTD happens three times a day, once at 19:00 CE(S)T, at the same time as the new Track of the Day releases, and then again at 03:00 CE(S)T and 11:00 CE(S)T.

To participate in the Cup of the Day, you need to play on the Track Of The Day Arcade Room by the time it starts.

"},{"location":"play/how-to-play-cotd/#qualification-phase","title":"Qualification phase","text":"

Once it is time, the server will automatically switch to the Cup of the Day Qualification phase, in which you have ten minutes to finish the map initially and then five additional minutes to improve your time. If you do not manage to finish the map within those initial ten minutes, you will not qualify for Cup of the Day's Knockout phase.

Once the Qualification phase is over, your best time driven in those 15 minutes will determine your Qualification rank and you will be placed in a division of similarly skilled players (max. 64 players per division).

The higher your Qualification rank, the more trophies you earn.

"},{"location":"play/how-to-play-cotd/#knockout-phase","title":"Knockout phase","text":"

After the Qualification phase and a short waiting period, you will be automatically connected to your division's match server. Once all players in your division are ready (or the warmup timer expires, whichever comes first), the Knockout match will start.

"},{"location":"play/how-to-play-cotd/#knockout-format-explained","title":"Knockout format explained","text":"

In Trackmania's Knockout format, players all start a round at the same time and the players either finishing in the last positions or not finishing at all will be knocked out. The first round of each Knockout match is a warm-up round and nobody will face elimination. The last player to be remaining after all other players have been knocked out will be crowned the winner of their division.

Players remaining KOs per round 17 to 64 players 4 9 to 16 players 2 2 to 8 players 1"},{"location":"play/how-to-play-cotd/#trophies-earned-from-playing-cup-of-the-day","title":"Trophies earned from playing Cup of the Day","text":"

During the Cup of the Day, you will have two occasions to earn trophies: during the Qualification phase, and during the Knockout phase. For the Qualification phase it is simple: the higher you are placed, the bigger your reward will be.

Time Attack Rank Trophies received Value Top 1 1x Trophy 6 100,000 Top 2 9x Trophy 5 90,000 Top 3 7x Trophy 5 70,000 Top 10 5x Trophy 5 50,000 Top 50 3x Trophy 5 30,000 Top 100 1x Trophy 5 10,000 Top 250 9x Trophy 4 9,000 Top 500 6x Trophy 4 6,000 Top 1000 3x Trophy 4 3,000 Top 2500 1x Trophy 4 1,000 Top 10000+ 1x Trophy 3 100

For the Knockout mode, it will depend of two factors: the level of your server, and your rank in the server. The level of your server depends of your rank in the Qualification phase. If you finish the Qualification phase in the Top 64, you will be place in the Server Type 1 of the Knockout mode. If you finish in the Top 10% in Time Attack, then you will be placed in a Server Type 2, and so on\u2026

The table below summarizes the type of server you will find yourself in, and the trophies you can claim.

Knockout Mode Server Type 1 (Top 64) Server Type 2 (Top 10%) Server Type 3 (Top 25%) Server Type 4 (Top 50%) Server Type 5 (Top 100%) Top 1 1x Trophy 7 6x Trophy 6 3x Trophy 6 7x Trophy 5 4x Trophy 5 Top 2 8x Trophy 6 5x Trophy 6 2x Trophy 6 6x Trophy 5 3x Trophy 5 Top 3 7x Trophy 6 4x Trophy 6 1x Trophy 6 5x Trophy 5 2x Trophy 5 Top 8 6x Trophy 6 3x Trophy 6 7x Trophy 5 4x Trophy 5 1x Trophy 5 Top 32 2x Trophy 6 9x Trophy 5 3x Trophy 5 9x Trophy 4 6x Trophy 4 Top 64 1x Trophy 6 6x Trophy 5 1x Trophy 5 6x Trophy 4 3x Trophy 4"},{"location":"play/how-to-play-cotd/#frequently-asked-questions","title":"Frequently Asked Questions","text":""},{"location":"play/how-to-play-cotd/#the-corners-of-my-screen-are-blinking-red-help","title":"The corners of my screen are blinking red, help?","text":"

This is a warning that you're currently facing elimination in case your position does not change until the end of the round.

"},{"location":"play/how-to-play-cotd/#i-have-been-knocked-out-what-next","title":"I have been knocked out, what next?","text":"

First of all, don't be upset! Getting knocked out in Cup Of The Day happens even to the best players most of the time. You can now either choose to leave the server or you may spectate the rest of your division's match until a winner has been crowned.

Author: Chris92

"},{"location":"play/how-to-play-ranked-3v3-friends/","title":"How to play Ranked 3v3 with my friends?","text":"

To invite your friends to your 3v3 matchmaking session, head on over to the lobby screen that can be found under Play -> Live -> Ranked.

In the top left corner, you will have the option to either invite your friends or accept one of their invites.

Depending on the platform you play on, the invite options might look a little bit different. Pictured is the Lobby screen from the Playstation version of Trackmania.

"},{"location":"play/how-to-play-ranked-3v3-friends/#communication-with-your-partyteam-members","title":"Communication with your party/team members","text":"

Trackmania features voice chat for communicating with your party and team mates in Ranked 3v3 matchmaking. By default, Voice Chat is enabled and set to voice activation. You can adjust the settings in the Main Menu -> Settings -> Sound or while you're playing in the Pause menu -> Advanced -> Settings. A push-to-talk hotkey can be set in Settings -> Inputs. You can also disable Voice Chat in case you do not feel like communicating with others or are in a call on an external platform.

"},{"location":"play/how-to-play-ranked-3v3-friends/#cross-platform-play","title":"Cross-platform play","text":"

In case you haven't disabled crossplay, you will be able to play with your friends no matter what platform they play on - your party could consist of a player on Playstation, a player on Xbox and a player on Luna or even on PC!

"},{"location":"play/how-to-play-ranked-3v3-friends/#queueing-for-a-match","title":"Queueing for a match","text":"

Once your party is setup and ready to go, everyone in your party needs to press the Play button located in the bottom right of the screen. One thing to keep in mind though, to ensure fair matches, the maximum amount of gap in rating points between the best and the worst player in your party must not exceed 1000 points - the game will remind you of this in case you ever forget.

Author: Chris92

"},{"location":"play/play-previous-campaigns/","title":"How can I play previous seasonal campaigns?","text":"

Paid access required

This feature requires an active or expired Standard Access or Club Access subscription.

"},{"location":"play/play-previous-campaigns/#explanation","title":"Explanation","text":"

To play previous seasonal campaigns, head on over to the Play -> Solo menu and in the top left you will find a button that, by clicking it, lets you cycle through the previous seasonal campaigns. Leaderboards on previous campaign are closed by default, meaning you cannot earn trophies for your position in them anymore.

In case you previously had Standard Access or Club Access, only the current seasonal campaign and all campaigns released by the time your subscription ran out will be available for you to play.

Author: Chris92

"},{"location":"play/royal-mappool/","title":"Royal Map Pool","text":"

The tracks, that are in the current Royal and Super Royal map pool can be found on the official Trackmania website.

At the bottom of that page, you can also find a link to a history with a calendar interface which shows when a specific map was added to map pool.

New tracks will be added to the Royal map pool every week on Mondays, Wednesdays and Saturdays at 20:00 Central European (Summer) Time.

Author: Chris92

"},{"location":"play/vip-keys/","title":"VIP keys","text":"

VIP keys can be used to get access to a variety of content creators' and professional players' ghosts on any map or leaderboard in the game.

You can activate any number of them, and you'll be able to use them in parallel, no matter your access level.

"},{"location":"play/vip-keys/#activating-a-vip-key","title":"Activating a VIP key","text":"

Navigate to the Settings page and find Activate a key in the Profile tab. Then enter your key and confirm the activation.

In-game, you can find the VIPs in the leaderboard widget on the left of the screen - just tab through the categories until you see Global VIPs.

"},{"location":"play/vip-keys/#list-of-public-keys","title":"List of public keys","text":"Player name Twitch VIP key AmaterasuTM https://www.twitch.tv/amaterasutm 76JK-6E6M-JRFN-K9GB-XGG4 BagheraJones https://www.twitch.tv/bagherajones A4F5-6K8K-PX69-M9RH-WN59 BirdieTM https://www.twitch.tv/birdietm ECRT-6NAY-W54C-AFNG-D9CG Bren_TM2 https://www.twitch.tv/bren_tm2 WCF8-35YX-RFNN-PJ4F-47XP CarlJRtm https://www.twitch.tv/carljrtm YTK7-T8NE-58BG-6G6H-RTNN Chroma https://www.twitch.tv/chroma JJAR-3DF3-JC4N-JPM5-FRY5 Ciremyxx https://www.twitch.tv/ciremyxx WYDR-4MF3-XFRX-RTN6-5JAK Cosmos24 https://www.twitch.tv/cosmos24tm XC3Y-434J-THP7-PHY3-NHFH DamDam https://www.twitch.tv/damdamlive X698-M4H3-86A6-3PHF-XHCN daregenn https://www.twitch.tv/daregenn FDAP-NBGA-R769-AJA5-ACTH DontCare https://www.twitch.tv/dontcare_tm H53C-8XFK-5346-5A7K-XPNX Down https://www.twitch.tv/ar_down TXDT-BTK4-87NR-X38X-JTDB eLconn https://www.twitch.tv/elconn21 AN8W-PBXA-KNR9-WRN8-DHAH erizel https://www.twitch.tv/erizel K4J3-AMNR-HMYF-599P-R5J3 Esszz https://www.twitch.tv/esszz WGB8-W6MP-EYHD-RTKG-FTWT Etoiles https://www.twitch.tv/etoiles 4BEX-93FT-R6KX-HCM5-873M GranaDy https://www.twitch.tv/granadyy X5PN-3R6J-FFYE-XFM5-BNHF h3llomarc https://www.twitch.tv/h3llomarc ME8F-KAW9-EDYP-63H8-4WY5 HuntedCast https://www.twitch.tv/huntedcast 3W6X-93HG-H5XH-MG3F-EMJG ItsAsh_btw https://www.twitch.tv/itsash_btw 9APF-DXPX-G95C-5WJ5-HPHM Ivycomb https://www.twitch.tv/ivycomb C7KC-NNYA-5RWT-EEDP-8CFK Jean-Ren\u00e9 https://www.twitch.tv/jean__rene WWWM-PA9J-D8PM-FFMR-P5D5 Jnic https://www.twitch.tv/jnic G93C-FEBG-WAGX-3R6H-N8N6 jojomaking https://www.twitch.tv/Jojomaking WTTN-R4RK-FWAP-A8Y9-DW4P Jxliano https://www.twitch.tv/Jxliano 768K-35NN-XJTG-C43E-BNHC Karlberg https://www.twitch.tv/karlberg 99YH-KN8B-6FF3-84G5-W9RW keby https://www.twitch.tv/keby CYYE-RHM5-FBW6-EYHN-RFYK Kennystream https://www.twitch.tv/kennystream EC9N-BAA7-NMN8-A6NT-W86K lauranbk https://www.twitch.tv/lauranbk W98G-Y9T8-EYK8-6WNM-H7B4 LeachyLive https://www.twitch.tv/leachylive 7JWR-96M5-HAWG-5E8E-6N8E Legion2k https://www.twitch.tv/Legion2k 5E33-K4W5-G8KC-HW5N-3KD5 Lentillion https://www.twitch.tv/lentillion NPNX-4RCP-EJKY-FKGX-XMHR LIRIK https://www.twitch.tv/lirik RGNM-84BG-NMAT-7B6H-8N6M lowkeycuteboy https://www.twitch.tv/lowkeycuteboy RKAP-6KPE-EP6R-WT88-P3F7 luckersturbo https://www.twitch.tv/luckersturbo D47G-Y6FF-EYPB-4E4Y-43DK lupo0999 https://www.twitch.tv/lupo0999 TCN9-R4BC-BTWY-G756-K3P3 Majijej https://www.twitch.tv/majijej X394-F99F-GT3G-8DPW-HWKX marty_vole https://www.twitch.tv/marty_vole YHWG-354D-9983-XGGR-YCXH Massa https://www.twitch.tv/massa YMX7-MAER-AA8B-MDWD-G476 MCYCShadow https://www.twitch.tv/mcycshadow T64M-KMPR-X436-8RJ9-GRP7 Micka_tm https://www.twitch.tv/micka_tm 7AN6-TKGY-9BDB-8A9W-J6FN Mime_ https://www.twitch.tv/mime_ H37C-XX5A-AB5M-6XG9-XN4N Mudda_tm https://www.twitch.tv/mudda_tm H4TX-PK9Y-7A5G-78JH-C9WK neon1990 https://www.twitch.tv/neon_1990 7E8Y-5R45-NRR4-A3J6-6BFN nevermind https://www.twitch.tv/nevermind_tm CEEW-C4HE-4J9W-988A-NY99 Ninadore https://www.twitch.tv/ninadore KJRW-67GB-EM7A-PGYN-A8DJ Nixotica https://www.twitch.tv/nixotica FTRM-4DEH-NGB4-RC4X-H5RT NoNjENs https://www.twitch.tv/NoNjENs TRBB-DYTN-RA38-WD33-DAG9 Pac_tm https://www.twitch.tv/pac_tm 4WT4-A79J-K6DB-97M5-RCW4 Pantoufl https://www.twitch.tv/pantoufl X78N-WGY9-X3CG-GYRN-HHYB Queen_Clown https://www.twitch.tv/queen_clown 33BF-KXGG-D6PJ-RGTE-C9CF Racehans https://www.twitch.tv/racehans N3R8-7M65-C7NX-9XHP-A7BT Razii https://www.twitch.tv/razii F5BK-BAE3-6BBY-PA38-YJY7 resir014 https://www.twitch.tv/resir014 XXAP-E3BG-9754-KJ99-Y7W5 s314ke https://www.twitch.tv/s314ke RE5H-HAJ5-DDBM-XP8E-WYCC SamZim https://www.twitch.tv/samzim 9A85-9JBH-XMDT-C3TX-3KGM Sardoche https://www.twitch.tv/sardoche NJPX-5TKC-AK9H-XJ45-RK6B SashoStoichkov https://www.twitch.tv/sashostoichkov AD8J-H8CM-K7F4-MKRR-HMKG sbville https://www.twitch.tv/sbville AA4D-GKT8-X7BB-8TD3-7ED8 Scarzor https://www.twitch.tv/scarzor 9MBB-AABC-Y553-RH6A-TFD9 Scrapie https://www.twitch.tv/scrapie 45PK-X97A-BKCB-FMT4-6TKD sh0rty https://www.twitch.tv/sh0rtyde E9TF-BBYY-PFYE-FCR7-WEH4 Shcr https://www.twitch.tv/shcrtm RTMH-YP39-G7GT-34X8-3DJ8 snippen https://www.twitch.tv/snippen 3P8Y-GCNW-DK4Y-7ENY-D8PE Sophie_ice https://www.twitch.tv/sophie_ice_tm 4PKY-FF5C-A685-9HF7-RXHA Spammiej https://www.twitch.tv/spammiej K7MY-C34N-EEGY-PKT5-JJ7K Speedself https://www.twitch.tv/speedself TY6M-RYBB-YPKG-BT76-W8YA Tarpor https://www.twitch.tv/tarpor C7CR-WEB9-D464-JKRM-YNKD Tatauna https://www.twitch.tv/tatauna EKDH-WHK8-NM9R-88HB-9GXY Tekky https://www.twitch.tv/tekkytm 7BRA-9FHN-CKXY-NC37-5TX4 Tr1x https://www.twitch.tv/tr1x_tm 7M5B-NJM3-GKNH-RHRM-XCEA Trilluxe https://www.twitch.tv/trilluxe 9GEG-CTGF-64TP-DFJT-XPMB UnanimousIndecision https://www.twitch.tv/unanimousindecision F3JW-WR3F-37DT-RHFH-876P Vaelyn https://www.twitch.tv/vaelyn 3RAE-5D7B-X3TT-H859-P8G4 VerySqueakyDoor https://www.twitch.tv/verysqueakydoor EPWD-P8WN-5KNC-R6KW-ABXA Wakz https://www.twitch.tv/wakzlol RN4B-WBT8-NWB4-9TWT-KDR7 wingobear https://www.twitch.tv/wingobear 3RT8-4NYH-EAB5-PEF3-W9GF Wirtual https://www.twitch.tv/wirtual WTKX-RXFM-ETP5-DCYR-T59N xEmlanx https://www.twitch.tv/xEmlanx 7R9J-MA6R-3FXW-GXN4-RMH5 Yannex https://www.twitch.tv/yannex ADMB-AM8D-JERR-D9AG-4BG6 ZeratoR https://www.twitch.tv/zerator TG4N-E3GE-3G8A-EFT4-9GMM

Author: tooInfinite

"},{"location":"play/watch-replays/","title":"Watching replays","text":"

Spectating and analyzing replays is a great way to learn techniques and racing lines. Below, you can find a few ways to watch replays from a couple different sources.

"},{"location":"play/watch-replays/#world-record-videos","title":"World Record videos","text":"

Seasonal campaign world records are being uploaded to YouTube by the community, so you can watch them on the unofficial Trackmania (2020) WR channel.

"},{"location":"play/watch-replays/#vip-keys","title":"VIP Keys","text":"

To get access to in-game ghosts for streamers and other VIPs, check out these instructions for VIP keys. This works for all access levels.

"},{"location":"play/watch-replays/#leaderboard-ghosts","title":"Leaderboard ghosts","text":"

Paid access required

This feature requires an active Club Access subscription.

The in-game leaderboard widget (Settings -> Interface -> Always display records) will show you a little \ud83d\udc41\ufe0f icon next to each record that you can use to load the ghost into your current session.

You can also spectate the ghost by selecting the player's name in the widget.

"},{"location":"play/watch-replays/#pc-exclusive-features","title":"PC-exclusive features","text":"

Due to platform restrictions, some additional ways to watch replays are only available on the PC version of Trackmania.

"},{"location":"play/watch-replays/#local-replays","title":"Local replays","text":"

Paid access required

This feature require an active or expired Standard Access or Club Access subscription.

  • You can watch your own local replays (as well as other players' replay files) by simply opening the Replay Editor in the Create section - it will let you open any replay stored in C:\\Users\\YourUser\\Documents\\Trackmania\\Replays.
"},{"location":"play/watch-replays/#leaderboard-ghost-files","title":"Leaderboard ghost files","text":"

Paid access required

This feature require an active or expired Standard Access or Club Access subscription.

To watch a specific record from the leaderboard (such as the world record), you can also go to trackmania.io, select the leaderboard and download the ghost file. See here for instructions on how to watch the ghost in-game.

Author: tooInfinite

"},{"location":"play/what-are-arcade-channels/","title":"What are the arcade channels?","text":"

Arcade channels, also known as arcade rooms, are online multiplayer servers that can feature a variety of game modes and user-generated tracks. The most common game mode you'll see played on the channels is \"Time Attack\", a mode where the goal is to set the best time possible within a given timeframe. You can find a curated list of arcade channels by navigating as follows from the main menu: Play -> Live -> Arcade

"},{"location":"play/what-are-arcade-channels/#experience-a-taste-of-the-arcade-with-starter-access","title":"Experience a taste of the Arcade with Starter Access","text":"

Starter Access players have limited access to the Arcade. They can either play on the Seasonal Campaign room or they can try their hands at the ever-changing Arcade Program, located in the top right in the Arcade menu. There, several different arcade programs are scheduled one hour at a time, ensuring variety and different styles of tracks.

"},{"location":"play/what-are-arcade-channels/#explore-the-vast-variety-of-the-arcade","title":"Explore the vast variety of the Arcade","text":"

Paid access required

This feature requires an active or expired Standard Access or Club Access subscription.

The Arcade is a great place to find like-minded individuals playing their favorite style of tracks. Whether you want to hunt daunting RPG tracks, just want to race across a Fullspeed track at 800+ speed or want to push Trackmania's physics to the limit with whacky LOL tracks, there truly is a Arcade room for everything. What are you waiting for? Go dive in!

"},{"location":"play/what-are-arcade-channels/#hosting-your-own-arcade-room","title":"Hosting your own Arcade room","text":"

Paid access required

This feature requires an active Club Access subscription.

If you want to host your own Arcade room, we have prepared a guide here.

Author: Chris92

"},{"location":"play/what-is-a-seasonal-campaign/","title":"What is a seasonal campaign?","text":""},{"location":"play/what-is-a-seasonal-campaign/#seasonal-campaigns-explained","title":"Seasonal Campaigns explained","text":"

Trackmania's seasonal campaigns consist of 25 maps of varying styles which are split into 5 increasing difficulties: White, Green, Blue, Red, and Black.

Seasonal campaigns run for 3 months after which the records leaderboards are closed and a winner is crowned, however new records can still be driven in the permanent, individual map records leaderboards.

Each campaign map has 4 medals you can earn: Bronze, Silver, Gold, and the coveted Author medal.

By earning medals on the campaign tracks, you can also unlock the seasonal campaign Prestige Skins and gain trophies for completing each section of the campaign.

At the end of a season, you will earn Trophy points based on your overall rank in the campaign. The winner of the entire campaign earns the rare Trophy 9 in-game as well as a physical trophy.

"},{"location":"play/what-is-a-seasonal-campaign/#trophy-rewards","title":"Trophy rewards","text":""},{"location":"play/what-is-a-seasonal-campaign/#end-of-campaign-rewards","title":"End of Campaign rewards","text":"Campaign Rank Trophies Value Top 1 1x Trophy 9 100,000,000 Top 2 8x Trophy 8 80,000,000 Top 3 4x Trophy 8 40,000,000 Top 10 3x Trophy 8 30,000,000 Top 1000 1x Trophy 7 1,000,000 Top 10k 1x Trophy 6 100,000 Top 100k 1x Trophy 5 10,000"},{"location":"play/what-is-a-seasonal-campaign/#medal-rewards","title":"Medal Rewards","text":""},{"location":"play/what-is-a-seasonal-campaign/#rewards-for-author-medals","title":"Rewards for Author Medals","text":"Medal Trophies Value All Maps 5x Trophy 5 50,000 All Black Maps 1x Trophy 5 10,000 All Red Maps 1x Trophy 5 10,000 All Blue Maps 1x Trophy 4 1,000 All Green Maps 1x Trophy 4 1,000 All White Maps 1x Trophy 4 1,000"},{"location":"play/what-is-a-seasonal-campaign/#rewards-for-gold-medals","title":"Rewards for Gold Medals","text":"Medal Trophies Value All Black Maps 1x Trophy 4 1,000 All Red Maps 1x Trophy 4 1,000 All Blue Maps 1x Trophy 3 100 All Green Maps 1x Trophy 3 100 All White Maps 1x Trophy 3 100"},{"location":"play/what-is-a-seasonal-campaign/#rewards-for-silver-medals","title":"Rewards for Silver Medals","text":"Medal Trophies Value All Black Maps 1x Trophy 3 100 All Red Maps 1x Trophy 3 100 All Blue Maps 1x Trophy 2 10 All Green Maps 1x Trophy 2 10 All White Maps 1x Trophy 2 10"},{"location":"play/what-is-a-seasonal-campaign/#rewards-for-bronze-medals","title":"Rewards for Bronze Medals","text":"Medal Trophies Value All Black Maps 1x Trophy 2 10 All Red Maps 1x Trophy 2 10 All Blue Maps 1x Trophy 1 1 All Green Maps 1x Trophy 1 1 All White Maps 1x Trophy 1 1

Author: Chris92

"},{"location":"play/what-is-ranked-3v3/","title":"What is the Ranked 3v3 gamemode?","text":"

Trackmania offers a skill-based Ranked matchmaking mode open to all players. Matches are played in a tweaked version of the Teams gamemode, with a points limit of 5. You can either queue solo or with up to two other players. Feedback from Tona: You can tell that voicechat is possible with your team mates

"},{"location":"play/what-is-ranked-3v3/#the-ranked-3v3-gamemode-explained","title":"The Ranked 3v3 gamemode explained","text":"

When you queue up for a Ranked 3v3 match, you will be matched with and against players from similar matchmaking ranks. After a 30 second warmup period once all players are connected, the match will start. Every player starts at the same time and earns points for their team based on the position they finish. The team who gets the most points wins the round. The scoring works as follows:

Position Points 1st 6 points 2nd 5 points 3rd 4 points 4th 3 points 5th 2 points 6th 1 point DNF 0 points

The minimum amount of points a team needs to win the round, should all players finish, is 11 points.

In case a player disconnects from the match, the scoring changes a bit. Only the best two players from each team score points and in case of a draw in points, the team with the best time in the round wins.

"},{"location":"play/what-is-ranked-3v3/#ranked-map-pool","title":"Ranked map pool","text":"

Ranked 3v3 Matchmaking in Trackmania is played on the current Seasonal Campaign maps.

The map for your match will be randomly chosen out of the map pool based on the skill bracket of the lowest ranked player in the match.

The current map pool distribution is as follows:

Skill bracket Map pool Bronze Maps 1 - 10 Silver Maps 1 - 15 Gold Maps 1 - 20 Master Maps 1 - 25"},{"location":"play/what-is-ranked-3v3/#matchmaking-rating","title":"Matchmaking rating","text":"

Once a team has won 5 rounds, the match ends and players will earn or lose rating points depending on the amount of points they earned for their team and whether their team won or lost.

In a regular match, where both teams are of equal skill, the point distribution is as follows:

Winning Team position Points gained Losing Team position Points lost 1st +40 1st -20 2nd +30 2nd -30 3rd +20 3rd -40

The player who scored the most points in the entire match, no matter whether they are on the winning or losing side, is the Match MVP and earns bonus rating points. The amount of bonus MVP points depends on the skill bracket the player is in and how evenly skilled the teams are. The values below assume evenly matched teams:

Skill bracket MVP bonus points Bronze +80 Silver and above +40

At the end of a matchmaking season (which runs in parallel to the campaign seasons), matchmaking ranks and ratings will be soft-reset to prevent the ratings at the top from becoming stale. See below for an example of how ranks might be adjusted.

Actual formula required

This section is not quite correct yet, the adjustments were less severe in the most recent Winter 2023 -> Spring 2023 transition.

Trackmaster + Master 3 -> 1600 points Master 2 -> 1300 points Master 1 -> 1150 points Gold 3 -> 1000 points Gold 2 -> 800 points Gold 1 -> 600 points Silver 3 -> 450 points Silver 2 -> 300 points Silver 1 + Bronze 3 & 2 -> 150 points Bronze 1 -> 0 points 3 months inactivity -> 0 points

Author: Chris92

"},{"location":"play/what-is-royal/","title":"What is Royal?","text":"

Royal is a team-based (maximum 3 players per team) knockout mode taking place on five maps. Four of the maps are randomly selected from a pool of 30 maps, and one of the maps will always be the latest map added to the map pool. You can view the current map pool here.

"},{"location":"play/what-is-royal/#maps","title":"Maps","text":"

Royal maps are comprised of 5 sections, each with increasing difficulty. The colors indicate the difficulty in the same order as the seasonal campaigns (white, green, blue, red, black). Royal maps usually involve moving objects, tricks, and air and speed control.

3 new tracks are added to the map pool every week on Mondays, Wednesdays and Saturdays.

"},{"location":"play/what-is-royal/#gameplay","title":"Gameplay","text":"

When the round starts, each team is placed on the white section of the track. If you or one of your teammates finishes the section you are on, your team will move onto the next section, unless you are on the black section. For the black section, it will keep looping every time your team finishes it. Every time a player finishes a section, regardless of color, one second of bonus time is added to your team with a maximum of 5 per player. Bonus time is used at the very end of the round, after the timer ends. The team that completes the most segments wins the round, and the teams that finish the least amount of sections get knocked out. The number of teams getting knocked out is dependent of the number of teams remaining. For most matches, it is 3 or 4 teams getting knocked out each round.

Author: Zai

"},{"location":"play/what-is-totd/","title":"What is a Track Of The Day?","text":"

Paid access required

This feature requires an active Standard Access or Club Access subscription.

"},{"location":"play/what-is-totd/#track-of-the-day-explained","title":"Track of the Day, explained","text":"

Track Of The Day is a daily showcase of community created maps, curated by Ubisoft Nadeo. A new Track Of The Day releases every day at 19:00 CE(S)T.

They're meant to highlight the following:

  • Beautiful scenery
  • Creative routes
  • Unique, standout features in the map
  • Community projects and events

The Track of the Day features various different track styles and it is being featured in the daily Knockout tournament called Cup Of The Day. Each Track Of The Day also features a brand new records leaderboard where players have 24 hours to set the best time and be crowned the Track Of The Day winner.

"},{"location":"play/what-is-totd/#how-to-get-your-map-selected-as-track-of-the-day","title":"How to get your map selected as Track of the Day","text":"

Map authors that want to have a chance at getting their map featured as Track Of The Day should make sure that their route is fully respawnable from every checkpoint, that the map doesn't feature unnecessarily difficult speed checks or other sections that might be too hard for Beginner and Intermediate players to complete consistently.Feedback from Tona: Track must be easy to understand for Beginner and Intermediate players with good sigage too

You can find the current Track Of The Day here.

"},{"location":"play/what-is-totd/#trophy-rewards","title":"Trophy rewards","text":"

When the leaderboard for a Track of the Day closes, you will earn Trophy points based on your final placement. Refer to the table below to see how many trophies you will earn.

Campaign Rank Trophies Value Top 1 1x Trophy 7 1,000,000 Top 2 6x Trophy 6 600,000 Top 3 4x Trophy 6 400,000 Top 10 3x Trophy 6 300,000 Top 100 1x Trophy 6 100,000 Top 1000 1x Trophy 5 10,000

Author: Chris92

"},{"location":"web/web-services/","title":"Web services","text":"

You can create your credentials on the developer website (api.trackmania.com).

"},{"location":"web/web-services/#documentation","title":"Documentation","text":"

The available routes are described here.

"},{"location":"web/web-services/#authentication","title":"Authentication","text":"

After retrieving your client ID you need to get an access token. All the methods to get one are described in auth.

"},{"location":"web/web-services/auth/","title":"Auth","text":"

Authentication is available through OAuth2.

"},{"location":"web/web-services/auth/#registration","title":"Registration","text":"

You can register your application and get your credentials at api.trackmania.com. After you created your application, make sure to save your Identifier (client ID) and Secret (client secret) for later.

"},{"location":"web/web-services/auth/#grants","title":"Grants","text":""},{"location":"web/web-services/auth/#auth-code-flow","title":"Auth code flow","text":"
  1. Redirect the user to https://api.trackmania.com/oauth/authorize with the following query parameters:
    • response_type: code
    • client_id: The client ID (\"Identifier\") you created in the manager.
    • scope: Space separated value of scopes. See here for more information.
    • redirect_uri: One of the redirect URIs in the application you created in the manager.
    • state: A non predictable random string. You should store this value and check if the value is the same at later stage.
  2. After the user authorized your application, they are redirected to the redirect_uri with these query parameters:
    • code: A code you need to exchange for an access token.
    • state: Check that this is the same value as the one you generated at step 1.
  3. The application should now issue a POST request to https://api.trackmania.com/api/access_token with these parameters:
    • grant_type: authorization_code
    • client_id: Your client ID.
    • client_secret: Your client secret.
    • code: The code from stage 2.
    • redirect_uri: The redirect URI that was used in stage 1.

The answer of stage 3 will contain:

  • token_type: This determines how you'll use the token. bearer means you send it alongside your requests in the Authorization header with the format Bearer <token>.
  • expires_in: The number of seconds this token will remain valid.
  • access_token: The token you need to access the endpoints on api.trackmania.com.
  • refresh_token: The long-lived token you can use to refresh your access token once it runs out (see here for more information).
"},{"location":"web/web-services/auth/#refresh-token-flow","title":"Refresh token flow","text":"

This lets you use a refresh token to get a new access token - because it has a much longer lifetime than an access token, it's a useful shortcut to getting a new access token without having to go through the whole auth code flow again.

Simply send a POST request to https://api.trackmania.com/api/access_token with these parameters: - grant_type: refresh_token - client_id: Your client ID. - client_secret: Your client secret. - refresh_token: The refresh token from a previous request.

The endpoint will respond just like to the original /access_token request, and you'll get a new access token alongside a new refresh token for future requests.

"},{"location":"web/web-services/auth/#client-credentials","title":"Client credentials","text":"

This is meant to be used for machine-to-machine authentication. Note that this token will not be associated with a user, so not all api.trackmania.com endpoints might make sense in this scenario.

Issue a POST request to https://api.trackmania.com/api/access_token with the parameters: - grant_type: client_credentials - client_id: The client ID (\"Identifier\") you created in the manager. - client_secret: The client secret (\"Secret\") associated with your client ID. - scope: Space separated value of scopes. See here for more information.

The answer will contain:

  • token_type: This determines how you'll use the token. bearer means you send it alongside your requests in the Authorization header with the format Bearer <token>.
  • expires_in: The number of seconds this token will remain valid.
  • access_token: The token you need to access the endpoints on api.trackmania.com.
"},{"location":"web/web-services/auth/#implicit-grant","title":"Implicit grant","text":"

As it's no longer a good practice, implicit grant won't be available.

"},{"location":"web/web-services/auth/#scopes","title":"Scopes","text":"

There are several available scopes for some specific user-related endpoints. If you're using the client credentials flow, these scopes will have no effect since the token won't be associated with a user.

To see the required scopes for each endpoint, please refer to the route documentation.

"}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 0000000..0f8724e --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz new file mode 100644 index 0000000..8d67c54 Binary files /dev/null and b/sitemap.xml.gz differ diff --git a/web/web-services/auth/index.html b/web/web-services/auth/index.html new file mode 100644 index 0000000..7dacf65 --- /dev/null +++ b/web/web-services/auth/index.html @@ -0,0 +1,2309 @@ + + + + + + + + + + + + + + + + + + + + Auth - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Auth

+

Authentication is available through OAuth2.

+

Registration

+

You can register your application and get your credentials at api.trackmania.com. +After you created your application, make sure to save your Identifier (client ID) and Secret (client secret) for later.

+

Grants

+

Auth code flow

+
    +
  1. Redirect the user to https://api.trackmania.com/oauth/authorize with the following query parameters:
      +
    • response_type: code
    • +
    • client_id: The client ID ("Identifier") you created in the manager.
    • +
    • scope: Space separated value of scopes. See here for more information.
    • +
    • redirect_uri: One of the redirect URIs in the application you created in the manager.
    • +
    • state: A non predictable random string. You should store this value and check if the value is the same at later stage.
    • +
    +
  2. +
  3. After the user authorized your application, they are redirected to the redirect_uri with these query parameters:
      +
    • code: A code you need to exchange for an access token.
    • +
    • state: Check that this is the same value as the one you generated at step 1.
    • +
    +
  4. +
  5. The application should now issue a POST request to https://api.trackmania.com/api/access_token with these parameters:
      +
    • grant_type: authorization_code
    • +
    • client_id: Your client ID.
    • +
    • client_secret: Your client secret.
    • +
    • code: The code from stage 2.
    • +
    • redirect_uri: The redirect URI that was used in stage 1.
    • +
    +
  6. +
+

The answer of stage 3 will contain:

+
    +
  • token_type: This determines how you'll use the token. bearer means you send it alongside your requests in the Authorization header with the format Bearer <token>.
  • +
  • expires_in: The number of seconds this token will remain valid.
  • +
  • access_token: The token you need to access the endpoints on api.trackmania.com.
  • +
  • refresh_token: The long-lived token you can use to refresh your access token once it runs out (see here for more information).
  • +
+

Refresh token flow

+

This lets you use a refresh token to get a new access token - because it has a much longer lifetime than an access token, it's a useful shortcut to getting a new access token without having to go through the whole auth code flow again.

+

Simply send a POST request to https://api.trackmania.com/api/access_token with these parameters: + - grant_type: refresh_token + - client_id: Your client ID. + - client_secret: Your client secret. + - refresh_token: The refresh token from a previous request.

+

The endpoint will respond just like to the original /access_token request, and you'll get a new access token alongside a new refresh token for future requests.

+

Client credentials

+

This is meant to be used for machine-to-machine authentication. +Note that this token will not be associated with a user, so not all api.trackmania.com endpoints might make sense in this scenario.

+

Issue a POST request to https://api.trackmania.com/api/access_token with the parameters: + - grant_type: client_credentials + - client_id: The client ID ("Identifier") you created in the manager. + - client_secret: The client secret ("Secret") associated with your client ID. + - scope: Space separated value of scopes. See here for more information.

+

The answer will contain:

+
    +
  • token_type: This determines how you'll use the token. bearer means you send it alongside your requests in the Authorization header with the format Bearer <token>.
  • +
  • expires_in: The number of seconds this token will remain valid.
  • +
  • access_token: The token you need to access the endpoints on api.trackmania.com.
  • +
+

Implicit grant

+

As it's no longer a good practice, implicit grant won't be available.

+

Scopes

+

There are several available scopes for some specific user-related endpoints. If you're using the client credentials flow, these scopes will have no effect since the token won't be associated with a user.

+

To see the required scopes for each endpoint, please refer to the route documentation.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/web/web-services/index.html b/web/web-services/index.html new file mode 100644 index 0000000..91b59b0 --- /dev/null +++ b/web/web-services/index.html @@ -0,0 +1,2174 @@ + + + + + + + + + + + + + + + + + + + + + + Web Services - Trackmania documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Web services

+

You can create your credentials on the developer website (api.trackmania.com).

+

Documentation

+

The available routes are described here.

+

Authentication

+

After retrieving your client ID you need to get an access token. All the methods to get one are described in auth.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file