Map Vote Extended - MVE2h

Search, find and discuss about Mutators!
User avatar
asosed
Adept
Posts: 312
Joined: Fri May 15, 2020 2:36 pm
Location: Russia

Re: Map Vote Extended - MVE2g-v1

Post by asosed »

_21 wrote: Wed May 31, 2023 12:09 pm
asosed wrote: Wed May 31, 2023 7:50 am Yo. Can you do option in ini to change the name "Info" tab? I want to change "Info" to "Rules"
Hi! I would like to ask you what would you like to accomplish with the tab rename?

I'm asking because there will be multiple changes regarding this feature. If I know the motivation behind the request then even if I don't implement your suggestion I might do something to be able to accomplish it. But there also might be a different feature that would possibly better accomplish what you are trying to do.

If I were to implement your suggestion I would remove the secondary menu bar at the bottom and covert all the pages under the info tab into tabs for better visibility. And then yes, I would make the tabs more configurable. But as it is right now the info tab groups multiple pages and it would be incorrect to group them all under a "Rules" tab.
ah, ok. I need the "Rules" tab (preferably at the top, before the info tab). Inside this tab, I would put the url with the rules
Image
User avatar
_21
Average
Posts: 77
Joined: Mon Aug 30, 2021 10:51 am

Re: Map Vote Extended - MVE2g-v1

Post by _21 »

Okay then the goal here is to have more visibility for the rules content which you configure.
User avatar
asosed
Adept
Posts: 312
Joined: Fri May 15, 2020 2:36 pm
Location: Russia

Re: Map Vote Extended - MVE2g-v1

Post by asosed »

_21 wrote: Wed May 31, 2023 1:31 pm Okay then the goal here is to have more visibility for the rules content which you configure.
Yes, I don't see a better way to show players the rules of the server and the game than in a mapvote
Image
User avatar
[rev]rato.skt
Adept
Posts: 438
Joined: Mon Aug 16, 2010 1:09 pm

Re: Map Vote Extended - MVE2g-v1

Post by [rev]rato.skt »

Hi man,

MVES.MapVote KickPercent 31 not work fine for me, with 3 people on the server 2 people voting dont kick, is that correct?
_21 wrote: Wed May 31, 2023 1:31 pm
Brazilian Server:
Alma Negra - 34.95.189.187:7777
Classic - madruga.utbr.cf:7777
Duel - x1.utbr.cf:6666
User avatar
_21
Average
Posts: 77
Joined: Mon Aug 30, 2021 10:51 am

Re: Map Vote Extended - MVE2g-v1

Post by _21 »

[rev]rato.skt wrote: Sat Jun 03, 2023 8:23 pm Hi man,

MVES.MapVote KickPercent 31 not work fine for me, with 3 people on the server 2 people voting dont kick, is that correct?
I will need to check to what's going on in there. Thanks for letting me know.
User avatar
[rev]rato.skt
Adept
Posts: 438
Joined: Mon Aug 16, 2010 1:09 pm

Re: Map Vote Extended - MVE2g-v1

Post by [rev]rato.skt »

Hi man,

I'm also having problems with the "Aliases", i edited the original file that comes in your zip "MVE2g-v1"
it recognizes the "Aliases" from MutatorList="", but the "Aliases" from Settings="" it doesn't recognize...

Code: Select all

CustomGame[0]=(bEnabled=True,GameName="Default GameType",RuleName="AS",GameClass="Botpack.Assault",FilterCode="1a",bHasRandom=False,VotePriority=1.000000,MutatorList="<FNN>",Settings="",Packages="",TickRate=100,ServerActors="",bAvoidRandom=False,Extends="")
CustomGame[1]=(bEnabled=True,GameName="Default GameType",RuleName="CTF",GameClass="Botpack.CTFGame",FilterCode="1b",bHasRandom=False,VotePriority=1.000000,MutatorList="<FNN>",Settings="<CTFCONF>",Packages="",TickRate=100,ServerActors="",bAvoidRandom=False,Extends="")
CustomGame[2]=(bEnabled=True,GameName="Default GameType",RuleName="DM",GameClass="Botpack.DeathMatchPlus",FilterCode="1c",bHasRandom=False,VotePriority=1.000000,MutatorList="<FNN>",Settings="<DMCONF>",Packages="",TickRate=100,ServerActors="",bAvoidRandom=False,Extends="")
CustomGame[3]=(bEnabled=True,GameName="Default GameType",RuleName="TDM",GameClass="Botpack.TeamGamePlus",FilterCode="1d",bHasRandom=False,VotePriority=1.000000,MutatorList="<FNN>",Settings="<TDMCONF>",Packages="",TickRate=100,ServerActors="",bAvoidRandom=False,Extends="")
CustomGame[4]=(bEnabled=True,GameName="Default GameType",RuleName="DOM",GameClass="Botpack.Domination",FilterCode="1e",bHasRandom=False,VotePriority=1.000000,MutatorList="<FNN>",Settings="",Packages="",TickRate=100,ServerActors="",bAvoidRandom=False,Extends="")
CustomGame[5]=(bEnabled=True,GameName="Default GameType",RuleName="LMS",GameClass="fnn222.LastManStanding",FilterCode="1f",bHasRandom=False,VotePriority=1.000000,MutatorList="<FNN>",Settings="<LMSCONF>",Packages="",TickRate=100,ServerActors="",bAvoidRandom=False,Extends="")
CustomGame[6]=(bEnabled=True,GameName="Default GameType",RuleName="LMS ANTI-CAMPER",GameClass="fnn222.LastManStanding",FilterCode="1g",bHasRandom=False,VotePriority=1.000000,MutatorList="<FNN>",Settings="<LMSCONF>",Packages="",TickRate=100,ServerActors="",bAvoidRandom=False,Extends="")
CustomGame[7]=(bEnabled=True,GameName="Default GameType",RuleName="LMS TEAM",GameClass="fnn222.TLastmanStanding",FilterCode="1h",bHasRandom=False,VotePriority=1.000000,MutatorList="<FNNCLA>",Settings="<LMSCONF>",Packages="",TickRate=100,ServerActors="",bAvoidRandom=False,Extends="")
CustomGame[8]=(bEnabled=True,GameName="Arena InstaGib",RuleName="AS",GameClass="Botpack.Assault",FilterCode="2a",bHasRandom=False,VotePriority=1.000000,MutatorList="<FNNGIB>",Settings="",Packages="",TickRate=100,ServerActors="",bAvoidRandom=False,Extends="")
CustomGame[9]=(bEnabled=True,GameName="Arena InstaGib",RuleName="CTF",GameClass="Botpack.CTFGame",FilterCode="2b",bHasRandom=False,VotePriority=1.000000,MutatorList="<FNNGIB>",Settings="<CTFCONF>",Packages="",TickRate=100,ServerActors="",bAvoidRandom=False,Extends="")
CustomGame[10]=(bEnabled=True,GameName="Arena InstaGib",RuleName="DM",GameClass="Botpack.DeathMatchPlus",FilterCode="2c",bHasRandom=False,VotePriority=1.000000,MutatorList="<FNNGIB>",Settings="<DMCONF>",Packages="",TickRate=100,ServerActors="",bAvoidRandom=False,Extends="")
CustomGame[11]=(bEnabled=True,GameName="Arena InstaGib",RuleName="TDM",GameClass="Botpack.TeamGamePlus",FilterCode="2d",bHasRandom=False,VotePriority=1.000000,MutatorList="<FNNGIB>",Settings="<TDMCONF>",Packages="",TickRate=100,ServerActors="",bAvoidRandom=False,Extends="")
CustomGame[12]=(bEnabled=True,GameName="Arena InstaGib",RuleName="DOM",GameClass="Botpack.Domination",FilterCode="2e",bHasRandom=False,VotePriority=1.000000,MutatorList="<FNNGIB>",Settings="FragLimit=15,TimeLimit=5",Packages="",TickRate=100,ServerActors="",bAvoidRandom=False,Extends="")
CustomGame[13]=(bEnabled=True,GameName="Arena InstaGib",RuleName="LMS",GameClass="fnn222.LastManStanding",FilterCode="2f",bHasRandom=False,VotePriority=1.000000,MutatorList="<FNNGIB>",Settings="<LMSCONF>",Packages="",TickRate=100,ServerActors="",bAvoidRandom=False,Extends="")
CustomGame[14]=(bEnabled=True,GameName="Arena InstaGib",RuleName="LMS ANTI-CAMPER",GameClass="fnn222.LastManStanding",FilterCode="2g",bHasRandom=False,VotePriority=1.000000,MutatorList="<FNNGIB>",Settings="<LMSCONF>",Packages="",TickRate=100,ServerActors="",bAvoidRandom=False,Extends="")
CustomGame[15]=(bEnabled=True,GameName="Arena InstaGib",RuleName="LMS TEAM",GameClass="fnn222.TLastmanStanding",FilterCode="2h",bHasRandom=False,VotePriority=1.000000,MutatorList="",Settings="<LMSCONF>",Packages="",TickRate=100,ServerActors="",bAvoidRandom=False,Extends="")

Aliases[0]=<FNN>=fnn222.NewNetServer,SmartSB115d.SmartSB,ACEv12e_CH.ACEMut,ComboImpressive.cwMut,VengeanceBR.RevengeMutator,UTChat27.UTChat,NWUltraGoreSSEc.NWBloodyMess_UGSSE,ServerAdds.ServerAdds,UP2.SplashLogoSA
Aliases[1]=<FNNGIB>=fnn222.NewNetServer,fnn222.NewNetIG,SmartSB115d.SmartSB,ACEv12e_CH.ACEMut,ComboImpressive.cwMut,VengeanceBR.RevengeMutator,UTChat27.UTChat,NWUltraGoreSSEc.NWBloodyMess_UGSSE,ServerAdds.ServerAdds,UP2.SplashLogoSA
Aliases[2]=<FNNSNP>=fnn222.NewNetServer,fnn222.NewNetSA,SmartSB115d.SmartSB,ACEv12e_CH.ACEMut,ComboImpressive.cwMut,VengeanceBR.RevengeMutator,UTChat27.UTChat,NWUltraGoreSSEc.NWBloodyMess_UGSSE,ServerAdds.ServerAdds,UP2.SplashLogoSA
Aliases[3]=<FNNRO>=fnn222.NewNetServer,fnn222.NewNetRA,SmartSB115d.SmartSB,ACEv12e_CH.ACEMut,ComboImpressive.cwMut,VengeanceBR.RevengeMutator,UTChat27.UTChat,NWUltraGoreSSEc.NWBloodyMess_UGSSE,ServerAdds.ServerAdds,UP2.SplashLogoSA
Aliases[4]=<FNNCOMBO>=fnn222.NewNetServer,fnn222.NewNetCG,SmartSB115d.SmartSB,ACEv12e_CH.ACEMut,ComboImpressive.cwMut,VengeanceBR.RevengeMutator,UTChat27.UTChat,NWUltraGoreSSEc.NWBloodyMess_UGSSE,ServerAdds.ServerAdds,UP2.SplashLogoSA
Aliases[5]=
Aliases[6]=
Aliases[7]=
Aliases[8]=
Aliases[9]=
Aliases[10]=<DMCONF>=FragLimit=30,TimeLimit=20,bUseTranslocator=False,AirControl=0.500000
Aliases[11]=<CTFCONF>=GoalTeamScore=5,TimeLimit=20,bUseTranslocator=True,AirControl=0.500000
Aliases[12]=<TDMCONF>=FragLimit=999,TimeLimit=15,bUseTranslocator=False,AirControl=0.500000
Aliases[13]=<LMSCONF>=bHumansOnly=True,FragLimit=15,TimeLimit=20,bUseTranslocator=False,AirControl=0.500000,FriendlyFireScale=0.000000,GoalTeamScore=0.000000

MapFilters[0]=1a AS-*
MapFilters[1]=1b CTF-*
MapFilters[2]=1c DM-*
MapFilters[3]=1d DM-*
MapFilters[4]=1e DOM-*
MapFilters[5]=1f DM-*
MapFilters[6]=1g DM-*
MapFilters[7]=1h DM-*
MapFilters[8]=2a AS-*
MapFilters[9]=2b CTF-*
MapFilters[10]=2c DM-*
MapFilters[11]=2d DM-*
MapFilters[12]=2e DOM-*
MapFilters[13]=2f DM-*
MapFilters[14]=2g DM-*



_21 wrote: Sun Jun 04, 2023 11:17 pm
Brazilian Server:
Alma Negra - 34.95.189.187:7777
Classic - madruga.utbr.cf:7777
Duel - x1.utbr.cf:6666
User avatar
_21
Average
Posts: 77
Joined: Mon Aug 30, 2021 10:51 am

Re: Map Vote Extended - MVE2g-v1

Post by _21 »

Looks like I'll have to take a look at aliases as well! Thanks for the report. I think it does not work for all properties of mapvote only for some part of them. But the expectation is to work for all off them.
User avatar
_21
Average
Posts: 77
Joined: Mon Aug 30, 2021 10:51 am

Re: Map Vote Extended - MVE2g-v1

Post by _21 »

Release: MVE2h
Download at top of thread!

- Map list transfer control has been optimized so that clients no longer need
to load the map list every time a new match starts. This eliminates unwanted
lag at be beginning of the match or every time a player rejoins. This also
eliminates unwanted lag when spectating players. Special thanks goes to
ProAsm here who allowed me to pick his brain on complicated subjects and
patiently answered all my questions.

- Fixed a bug where random map has always chosen the same map. There is
also a new random map algorithm which will prefer choosing a map where
the player count is within the `IdealPlayerCount` as defined by the mapper.
At it's core the choice is still random, and the data in maps is not
reliable but in practice this avoid switching to a 16 player map when there
are only 2 players and it will also avoid switching to a 2 player map when
the server has 16 players.

- The `bAvoidRandom` configuration property has been removed as since `MVE2g`
MVE will only ever choose a random map from the current gametype.

- When browsing throught the list of maps, the selected game mode, rule
and map is saved to disk and restored next time when the map vote client
opens. On servers with a lot of game modes and maps this will helps players
to be able to quickly re-vote their last vote or to continue the search for
the map they want.

- Improved the welcome experience. If a `ServerInfoURL` is configured then
`bWelcomeWindow` can be enabled. This will cause the web page located at
`ServerInfoURL` to be shown to newly joining players. If this is enabled then
on second join a map vote key-binder window will also be shown to players
who do not have a keybind for map vote.

Here is how the keybinder looks:
keybinder-window.png

- Map vote status titles and map list status list box have been adjusted
to stretch across the whole screen. Thank you Deepu for this contribution.

Here is how the new version looks with adjusted layout:
map-vote-screen.png

- The `bFirstRun` configuration property has been removed and can be deleted
safely from config files.

- The `ClientPackage` configuration value has been deprecated and will be
removed. This means you no longer have to manually update it. As long as
`bOverrideServerPackages` is enabled MVE will also automatically inject
the correct version of the package to ServerPackages.

- MVE now includes protection against lag spikes caused by queries when
.int files are missing or are misconfigured. This is enabled by default
but can be disabled with setting `bFixMutatorsQueryLagSpikes` to false.
I'm hoping that this will save headaches for server admins, as I have spent
the last December and January testing and debugging this issue. Special
thanks goes to Buggie who made me fully understand the problem.

- MVE will now log every time it performs a map switch. If the sever switches
maps and you don't know why it happened you will now know if it was MVE
or something else responsible.

- Optimized tagged map list reload to use less jump instructions. We've hit a
limit at around ~700 tagged maps where the map list reload will trigger the
infinite loop detection when using map tags. When this happens the maps
reload will crash. The problem is not fully fixed yet but the optimization
does help.

- Fix merge multiple map tag entries for same map. Previosly the entries
overwrote each other, but from now on they will be merged instead.

- Fixed broken support link in the information page.
You do not have the required permissions to view the files attached to this post.
User avatar
esnesi
Godlike
Posts: 1024
Joined: Mon Aug 31, 2015 12:58 pm
Personal rank: Dialed in.

Re: Map Vote Extended - MVE2h

Post by esnesi »

Huge significant performance improvements!
User avatar
[rev]rato.skt
Adept
Posts: 438
Joined: Mon Aug 16, 2010 1:09 pm

Re: Map Vote Extended - MVE2h

Post by [rev]rato.skt »

Tnx Man, i Go test thisssss
Brazilian Server:
Alma Negra - 34.95.189.187:7777
Classic - madruga.utbr.cf:7777
Duel - x1.utbr.cf:6666
User avatar
Deepu
Adept
Posts: 375
Joined: Mon Nov 11, 2013 7:56 am
Personal rank: Average
Location: India

Re: Map Vote Extended - MVE2h

Post by Deepu »

Looks great man, Unfortunately I dropped my all ut project due to real life activities so maybe I will come back. Thank you for continuing this project 🤝🏻
User avatar
[rev]rato.skt
Adept
Posts: 438
Joined: Mon Aug 16, 2010 1:09 pm

Re: Map Vote Extended - MVE2g-v1

Post by [rev]rato.skt »

_21 wrote: Sat Sep 23, 2023 6:05 pm
good very good :gj: :tu: :rock:
Brazilian Server:
Alma Negra - 34.95.189.187:7777
Classic - madruga.utbr.cf:7777
Duel - x1.utbr.cf:6666
caver01
Average
Posts: 31
Joined: Tue Nov 14, 2023 6:50 pm

Re: Map Vote Extended - MVE2h

Post by caver01 »

I just converted over a dedicated server from MVU to MVE2 and I am really liking the UI much better than 12 columns!

Question: One of my game types is the oldskool coop with DK maps for Unreal 1. I thought I read somewhere about campaigns and map order. . . I noticed the MV on the FFN server has the DK maps listed in order. How do I do that?
User avatar
_21
Average
Posts: 77
Joined: Mon Aug 30, 2021 10:51 am

Re: Map Vote Extended - MVE2h

Post by _21 »

caver01 wrote: Sat Nov 18, 2023 4:14 am I just converted over a dedicated server from MVU to MVE2 and I am really liking the UI much better than 12 columns!

Question: One of my game types is the oldskool coop with DK maps for Unreal 1. I thought I read somewhere about campaigns and map order. . . I noticed the MV on the FFN server has the DK maps listed in order. How do I do that?
Hope it wasn't too much work! It can take eat up lot of time to set up mapvote config.

The documentation around the varios map management techniques is quite sparse...
I will try to improve it over time. There is an example MVE_Config which shows off various
things that can be done. So you can take a look at the MVE_Config from the release
package for a working example.

Now then I will also explain here how to do it:

For coop campagins or for any other gametype where the order of maps needs
to be manually set up, premade lists can be used. When you make a premade
the number and order of the maps will be exactly as you set them up in the
configuration file.

You will first need a gametype, let's call it Coop, but it can be anything else
and create a new FilterCode. The filter code can be customized but it must
start with `premade`, so for example `premadeRTNP` or `premadeDK` are fine,
in this example we'll go with `premadeA`.

Code: Select all

CustomGame[33]=(GameName="Coop",FilterCode="premadeA",bHasRandom=False,...)
Next, in the map filters, you will need to list the maps you want in the premade
list.

Code: Select all

MapFilters[20]=
MapFilters[21]=premadeA DM-Malevolence
MapFilters[22]=premadeA DM-Liandri
MapFilters[23]=premadeA DM-StalwartXL
MapFilters[24]=
MapFilters[25]=
As long as the convention above is respected, they will be picked up by the
special premade filter in the order given in the config file, and will not
be sorted alphabetically.

Let me know if it works or if you bump into another issue. If there is another
issue then there may be a bug hidden somewhere that should be addressed.
caver01
Average
Posts: 31
Joined: Tue Nov 14, 2023 6:50 pm

Re: Map Vote Extended - MVE2h

Post by caver01 »

Thanks so much for the explanation. Seems reasonable, and I appreciate your abstract example—just enough specifics to apply to any situation. I will give it a go in the next few days!

So far, I am liking the flexibility of how the UI builds upon a hierarchy. So many possible ways to slice and dice. . . This fixed sort list was the missing piece for me.   
Auto merged new post submitted 9 minutes later
As far as time consuming Map Vote, I agree—it can be a little daunting. I started with MVLA, then moved to Ultra and now this. I will say that having a foundation of previous MV experience definitely helps see how the ideas/needs have been solved.

One thing that is still a little painful is the repeating mutator configs for the variations of a given gametype. My Default is cutback to a minimum mostly because of the wildly different Unreal 1 campaign setup where I don’t want any newer mutators running vs. my typical, more modern setup using doublejump, ultragore, relics etc. This leaves me repeating that list over and over. I can see what is coming for me which is slogging though edits to that config multiplied by every variation. This will happen as soon as I learn about the next good mutator I want running as a base config. I almost wish I could “alias” a list of mutators and just insert this variable everywhere.

I considered using MedToggle to try to simplify future edits, but this adds another abstraction layer and I could easily forget what I did down the road!

At this point, it’s still manageable, but as my server config grows, I can see this getting pretty complicated, especially if I re-able some of the map tagging.   
Auto merged new post submitted 8 minutes later
I suppose I could use search and replace in the future when I want to add something like hit sounds, or a scoreboard mutator—Find an existing mutator common to MOST, and replace that text inserting additional. Still, it’s a lot, and reading these long text file lines late at night can be a bit challenging! That seems ripe for an admin UI opportunity.

My “alias” idea above would really help. Like a list of default configs over and above the base default config.