How to matchmaking

Moderator: NADEO

Post Reply
User avatar
gouxim
Nadeo
Nadeo
Posts: 1186
Joined: 14 Jun 2010, 17:20

How to matchmaking

Post by gouxim »

Fellow hosters,

With ManiaPlanet 3.0, hosting matchmaking servers is as easy as hosting a regular server. No more ManiaLive or MySQL :yes:

In depth technical guide is available at: http://maniaplanet.github.io/documentat ... aking.html

Feel free to ask feedback or give questions!
Please do not PM for support. Instead, create a thread so that everyone can contribute or benefit from the answer! 8-)
User avatar
Eole
Nadeo
Nadeo
Posts: 1265
Joined: 26 Apr 2011, 21:08

Re: How to matchmaking

Post by Eole »

The new matchmaking update is available here.

The zip contains :
- The new matchmaking scripts.
- The new Elite, Siege and Combo title packs.
- Examples of matchsettings for the different modes.

As usual don't forget to back up your data before updating so you'll be able to go back easily if something goes wrong. You'll have to update your lobby and your match servers for the update to work properly.

What's new in this update :
- Integration with Combo.
- Use the new version of the API (v4) with https.
- Setting S_MatchmakingErrorMessage defines a custom error message that will be displayed in the chat to inform the players when an error occurs in the matchmaking system.
- Setting S_LobbyAllowMatchCancel allows or not the players to cancel a match.
- Setting S_LobbyLimitMatchCancel, if the players are allowed to cancel a match, how many matches can they cancel before being penalized.
- Players leaving or canceling a match will be penalized. The more they are penalized the longer they will be blocked in the lobby.
- Display the nickname of the player who canceled our match in the chat.
- Better management of substitutes players.
- Display the average waiting time of the players in the lobby.
- Display which players are allied in the VS screen before being sent to a match.
- Stop to ask for a substitute when a player is missing if the match end is close.
- When reconnecting to a lobby after leaving an ongoing match you'll be sent back to your match server. Canceling will result in a penalty.
- Fixed : the old scores table is not visible anymore after a map change in the lobby.
- Fixed : the players list is sorted by echelon.
- Fixed : player won't be blocked in the lobby instead of being transfered to their match server.

To help us making the matchmaking better we activated the script logs by default in this version. If you're worried about the size they can take on your server hard drive you can turn them off in your matchsettings file (S_MatchmakingLogAPIError, S_MatchmakingLogAPIDebug and S_MatchmakingLogMiscDebug). Otherwise please try to let them on as it will help us greatly to fix any problems that you might encounter. Once we're sure this version is really stable we'll release a new version without the logs.

If you're new to the ManiaPlanet 3.0 matchmaking system you can read this guide to learn how to setup your servers.
Contribute to the ManiaPlanet documentation on GitHub
A question about ManiaScript? Ask it here!
novationx
Posts: 2723
Joined: 10 Aug 2013, 22:33

Re: How to matchmaking

Post by novationx »

Great work! These little and not so little changes will really improve the experience of MM. :thumbsup:
Maybe "a map randomizer/selection" and "want a rematch vote" can be added in the next update?
The neverending waiting game has to stop.
MrA
Posts: 526
Joined: 15 Jun 2010, 17:10

Re: How to matchmaking

Post by MrA »

gouxim wrote:In depth technical guide is available at: http://maniaplanet.github.io/documentat ... aking.html
This is really good :thumbsup:
Enjoying TMOne
User avatar
weerwolf
Posts: 603
Joined: 15 Jun 2010, 21:21
Location: Wijchen, Netherlands
Contact:

Re: How to matchmaking

Post by weerwolf »

What now works:
- Substitutes for players who left a match are pulled from the lobby (if availble).
- Average waiting shows
- Penalties are given for players who left a match
- When left a match, the lobby will put u back when connecting

What not works (or properly):
- Sometimes a second substitute is sent to the match when not needed. the substitute will get a message, too much players, and is set back to the menu. when connecting again to the lobby, this player will be put directly to the match again, with the same error. It can be prevented by canceling, but results in a penalty.
- Substitutes are always the ones who connected to the lobby the last.
- Missing info texts on the chat below. (e.g. player has been sent as substitute, match results on end match)

i might forget something, will add if necessary.
User avatar
magnetik
Posts: 1673
Joined: 01 Feb 2012, 19:13
Location: Bordeaux
Contact:

Re: How to matchmaking

Post by magnetik »

Thanks for the detailled feedback :thumbsup:

I'm looking into the first two right now.
ManiaPlanet technical documentation portal (Dedicated, ManiaLink, ManiaScript, Titles...) -- contribute!
User avatar
weerwolf
Posts: 603
Joined: 15 Jun 2010, 21:21
Location: Wijchen, Netherlands
Contact:

Re: How to matchmaking

Post by weerwolf »

Code: Select all

001:	[2014/05/20 19:16:34] Connection of a new player: ocl(xxx.xxx.xxx.xxx:2350)
		[2014/05/20 19:16:34] Connection of a new player: tmsilver(xxx.xxx.xxx.xxx:2350)
		[2014/05/20 19:16:34] Connection of a new player: burnlong(xxx.xxx.xxx.xxx:2350)
		[2014/05/20 19:16:34] Connection of a new player: official.nadeo(xxx.xxx.xxx.xxx:2350)
		[2014/05/20 19:16:34] Connection of a new player: christoxx1(xxx.xxx.xxx.xxx:2350)
		[2014/05/20 19:16:34] Connection of a new player: richardhop(xxx.xxx.xxx.xxx:2350)
		[2014/05/20 19:16:34] Connection of a new player: renatusroho(xxx.xxx.xxx.xxx:2350)
		[2014/05/20 19:16:34] Connection of a new player: hobbeses(xxx.xxx.xxx.xxx:2350)
		[2014/05/20 19:16:35] Connection of a new player: toutoune01(xxx.xxx.xxx.xxx:2350)
		[2014/05/20 19:16:37] Connection of a new player: froggieshooter(xxx.xxx.xxx.xxx:2350)
050:	[2014/05/20 19:17:30] <response>
		<match id="22730">
		<server lobby="smlynxlobby1" match="smlynxmatch11"/>
		<players>
		<player login="burnlong" clan="0"/>
		<player login="christoxx1" clan="1"/>
		<player login="froggieshooter" clan="1"/>
		<player login="hobbeses" clan="0"/>
		<player login="ocl" clan="1"/>
		<player login="official.nadeo" clan="1"/>
		<player login="renatusroho" clan="0"/>
		<player login="richardhop" clan="0"/>
		<player login="tmsilver" clan="1"/>
		<player login="toutoune01" clan="0"/>
		</players>
		</match>
		</response>
110:	[2014/05/20 19:19:48] Disconnection of toutoune01(xxx.xxx.xxx.xxx:2350)
118:	[2014/05/20 19:19:48] "missingplayers": [{"login":"toutoune01"}]
231:	[2014/05/20 19:29:42] Connection of a new player: weerwolf(xxx.xxx.xxx.xxx:2350)
237:	[2014/05/20 19:29:58] <response>
		<match id="22730">
		<server lobby="smlynxlobby1" match="smlynxmatch11"/>
		<players>
		<player login="burnlong" clan="0"/>
		<player login="christoxx1" clan="1"/>
		<player login="froggieshooter" clan="1"/>
		<player login="hobbeses" clan="0"/>
		<player login="ocl" clan="1"/>
		<player login="official.nadeo" clan="1"/>
		<player login="renatusroho" clan="0"/>
		<player login="richardhop" clan="0"/>
		<player login="tmsilver" clan="1"/>
		<player login="toutoune01" clan="0" replaced="true"/>	/// CORRECT - REPLACED BY WEERWOLF
		<player login="weerwolf" clan="0"/>	/// SUBTITUTE FOR TOUTOUNE01
		</players>
		</match>
		</response>
247:	[2014/05/20 19:30:59] "missingplayers": []
283:	[2014/05/20 19:31:10] Disconnection of ocl(xxx.xxx.xxx.xxx:2350)
291:	[2014/05/20 19:32:03] "missingplayers": [{"login":"ocl"}]
317:	[2014/05/20 19:34:28] Connection of a new player: pyerrro(xxx.xxx.xxx.xxx:2350)
318:	[2014/05/20 19:34:32] Disconnection of tmsilver(xxx.xxx.xxx.xxx:2350)
335:	[2014/05/20 19:35:12] <response>
		<match id="22730">
		<server lobby="smlynxlobby1" match="smlynxmatch11"/>
		<players>
		<player login="burnlong" clan="0"/>
		<player login="christoxx1" clan="1"/>
		<player login="froggieshooter" clan="1"/>
		<player login="hobbeses" clan="0"/>
		<player login="ocl" clan="1"/>	/// NOT CORRECT - REPLACED BY PYERRRO
		<player login="official.nadeo" clan="1"/>
		<player login="pyerrro" clan="1"/>
		<player login="renatusroho" clan="0"/>
		<player login="richardhop" clan="0"/>
		<player login="tmsilver" clan="1"/>
		<player login="toutoune01" clan="0" replaced="true"/>	/// CORRECT - REPLACED BY WEERWOLF
		<player login="weerwolf" clan="0"/>	/// SUBTITUTE FOR TOUTOUNE01
		</players>
		</match>
		</response>
346:	[2014/05/20 19:35:29] "missingplayers": [{"login":"ocl"},{"login":"tmsilver"}]	/// OCL WAS REPLACED  .....
357:	[2014/05/20 19:36:00] "missingplayers": []		/// CORRECT
380:	[2014/05/20 19:36:29] Disconnection of burnlong(xxx.xxx.xxx.xxx:2350)
381:	[2014/05/20 19:36:29] Disconnection of weerwolf(xxx.xxx.xxx.xxx:2350)
382:	[2014/05/20 19:36:29] Disconnection of froggieshooter(xxx.xxx.xxx.xxx:2350)
383:	[2014/05/20 19:36:29] Disconnection of hobbeses(xxx.xxx.xxx.xxx:2350)
384:	[2014/05/20 19:36:29] Disconnection of official.nadeo(xxx.xxx.xxx.xxx:2350)
385:	[2014/05/20 19:36:29] Disconnection of richardhop(xxx.xxx.xxx.xxx:2350)
386:	[2014/05/20 19:36:29] Disconnection of renatusroho(xxx.xxx.xxx.xxx:2350)
387:	[2014/05/20 19:36:29] Disconnection of christoxx1(xxx.xxx.xxx.xxx:2350)
388:	[2014/05/20 19:36:29] Disconnection of pyerrro(xxx.xxx.xxx.xxx:2350)
User avatar
magnetik
Posts: 1673
Joined: 01 Feb 2012, 19:13
Location: Bordeaux
Contact:

Re: How to matchmaking

Post by magnetik »

I thought I had corrected this one :x

Do you have the full log of this match on both match server and lobby server?
ManiaPlanet technical documentation portal (Dedicated, ManiaLink, ManiaScript, Titles...) -- contribute!
User avatar
magnetik
Posts: 1673
Joined: 01 Feb 2012, 19:13
Location: Bordeaux
Contact:

Re: How to matchmaking

Post by magnetik »

You can send me the full log, I'll get what I want quite fast :thumbsup:
ManiaPlanet technical documentation portal (Dedicated, ManiaLink, ManiaScript, Titles...) -- contribute!
User avatar
Eole
Nadeo
Nadeo
Posts: 1265
Joined: 26 Apr 2011, 21:08

Re: How to matchmaking

Post by Eole »

The latest dedicated server contains a few improvements on the matchmaking script :
- Players are now penalized as soon as they cancel for the first time.
- One matchmaking round in the lobby last 30 seconds instead of 60 seconds.
- 60 rounds per map instead of 30 in the lobby.
- Canceling a match the first time is now penalized by 90 seconds of ban instead of 60 seconds.
- Each cancel after the first one will increase the penalty by 30 seconds instead of 5.
Contribute to the ManiaPlanet documentation on GitHub
A question about ManiaScript? Ask it here!
Post Reply

Return to “Dedicated Server”

Who is online

Users browsing this forum: No registered users and 2 guests