Map Vote Extended (MVE2c) improvements of MVE2a

Search, find and discuss about Mutators!
User avatar
Que
Inhuman
Posts: 812
Joined: Mon Dec 09, 2019 5:49 am
Personal rank: ...

Re: Map Vote Extended (MVE2c) improvements of MVE2a

Post by Que »

MVE could do what MVX does and allow admins to preset Maps Folders for different games.
Maps/DM , Maps/CTF1, Maps/CTF2 etc.
*Join our Discord Here.*
Our mods - MVX , SSB , SmartWFL , UTCmds , BotCommands , Smart Stats , join/leave announcer , NoSmoke , UTLogin , BrightSkins , Server Tran…
*Our Servers
giresun27
Average
Posts: 42
Joined: Thu Mar 26, 2020 4:27 pm
Personal rank: 34

Re: Map Vote Extended (MVE2c) improvements of MVE2a

Post by giresun27 »

Que wrote: Fri Sep 02, 2022 10:40 pm MVE could do what MVX does and allow admins to preset Maps Folders for different games.
Maps/DM , Maps/CTF1, Maps/CTF2 etc.
Where exactly do I type it?

CustomGame[0]=(bEnabled=True,GameName="iCTF/League",RuleName="Normal",GameClass="Botpack.Assault",FilterCode="ctf",bHasRandom=False,VotePriority=1.000000,MutatorList="",Settings="",Packages="",TickRate=0,ServerActors="",bAvoidRandom=False)
User avatar
Que
Inhuman
Posts: 812
Joined: Mon Dec 09, 2019 5:49 am
Personal rank: ...

Re: Map Vote Extended (MVE2c) improvements of MVE2a

Post by Que »

Nah it doesn't have that functionality atm the answer was more angled towards devs of MVE
*Join our Discord Here.*
Our mods - MVX , SSB , SmartWFL , UTCmds , BotCommands , Smart Stats , join/leave announcer , NoSmoke , UTLogin , BrightSkins , Server Tran…
*Our Servers
User avatar
esnesi
Godlike
Posts: 1038
Joined: Mon Aug 31, 2015 12:58 pm
Personal rank: Dialed in.

Re: Map Vote Extended (MVE2c) improvements of MVE2a

Post by esnesi »

giresun27 wrote: Fri Sep 02, 2022 6:16 pm how can I use specific ctf maps for a gametype and not see all maps?
I have
CTF leaguemaps
and normal ctf maps
Que wrote: Fri Sep 02, 2022 10:40 pm MVE could do what MVX does and allow admins to preset Maps Folders for different games.
Maps/DM , Maps/CTF1, Maps/CTF2 etc.
These features are present of course, assuming you didn't find them yet.
Here is how we filter out CTF-BT maps, from current CTF lists.
Only 1 \Maps folder.

For example:
FilterCode="CTFlist"
ExcludeFilters[0]=CTFlist CTF-BT-*

Remember you don't have to set this for every CustomGame line.
As long as you set the Filtercode for "CTFlist" as example, it will filter out all CTF-BT maps from all CTF lists which use CTFlist as filtercode.

If your maps have the same prefix however, then you will have an issue.
Usually league maps have a certain tag in the prefix which you can filter on.
There is some current development with maptagging, more info on that later from 21 probably!
Last edited by esnesi on Sat Sep 03, 2022 10:49 am, edited 1 time in total.
User avatar
_21
Experienced
Posts: 80
Joined: Mon Aug 30, 2021 10:51 am

Re: Map Vote Extended (MVE2c) improvements of MVE2a

Post by _21 »

@Que: thanks for the suggestion, might look into it but I won't change how MVE does things, listing all maps + filtering can be very flexible
@giresun27: I have an experimental feature for you, it's called map tagging, though it has not been extensively tested it's made for exactly the problem you're describing:

Map Tags Feature [EXPERIMENTAL]

In order to add more flexibility to the way map lists are built, it's now
possible to tag specific maps. You can assign multiple tags per map.

For example DM-CliffyB4:RA could mean that the map DM-CliffyB4 is suitable
for rocket arena and that CTF-Whatever:LG:SNI is suitable for lowgrav and
sniper matches. What the tags are and what they mean are up to the user.

Filters have been extended to support tags. This way maps with specific
tag can be added or removed from map lists using the filters.

To enable this feature you need to set bEnableMapTags to true in the
[MVES.MapVote] section of MVE_Config.ini

Configuration example follows, note the following features:
  • both maps and filters have multiple tags at the same time
  • dm1on1 filter matches maps that are both :SMALL and :DM
  • dmlowgrav filter matches maps that are both :LG and :DM
  • dmsniper is either :LARGE:DM maps or :LG:DM maps
  • dmnolowgrav contans all DM-* maps excluding maps tagged :LG

Code: Select all

[MVES.MapVote]
bEnableMapTags=True
CustomGame[0]=(RuleName="Normal",FilterCode="dmnolowgrav", ...)
CustomGame[1]=(RuleName="1on1",FilterCode="dm1on1", ...)
CustomGame[2]=(RuleName="Low Gravity",FilterCode="dmlowgrav", ...)
CustomGame[3]=(RuleName="Sniper",FilterCode="dmsniper", ...)
CustomGame[4]=(RuleName="Medium Sized",FilterCode="dmmedium", ...)
MapFilters[0]=dm1on1 :SMALL:DM
MapFilters[1]=dmlowgrav :LG:DM
MapFilters[2]=dmsniper :LARGE:DM
MapFilters[3]=dmsniper :LG:DM
MapFilters[4]=dmmedium :MEDIUM:DM
MapFilters[5]=dmnolowgrav DM-*
ExcludeFilters[0]=dmnolowgrav :LG

Code: Select all

[MVES.MapTagsConfig]
MapTagsVersion=1
MapTags[0]=DM-Fractal:DM:SMALL
MapTags[1]=DM-Morbias][:DM:SMALL
MapTags[2]=DM-HyperBlast:DM:SMALL
MapTags[3]=DM-Stalwart:DM:SMALL
MapTags[4]=DM-Deck16][:DM:MEDIUM
MapTags[5]=DM-Crane:DM:LARGE
MapTags[6]=DM-Morpheus:DM:MEDIUM:LG
giresun27
Average
Posts: 42
Joined: Thu Mar 26, 2020 4:27 pm
Personal rank: 34

Re: Map Vote Extended (MVE2c) improvements of MVE2a

Post by giresun27 »

_21 wrote: Sat Sep 03, 2022 10:42 am @Que: thanks for the suggestion, might look into it but I won't change how MVE does things, listing all maps + filtering can be very flexible
@giresun27: I have an experimental feature for you, it's called map tagging, though it has not been extensively tested it's made for exactly the problem you're describing:

Map Tags Feature [EXPERIMENTAL]

In order to add more flexibility to the way map lists are built, it's now
possible to tag specific maps. You can assign multiple tags per map.

For example DM-CliffyB4:RA could mean that the map DM-CliffyB4 is suitable
for rocket arena and that CTF-Whatever:LG:SNI is suitable for lowgrav and
sniper matches. What the tags are and what they mean are up to the user.

Filters have been extended to support tags. This way maps with specific
tag can be added or removed from map lists using the filters.

To enable this feature you need to set bEnableMapTags to true in the
[MVES.MapVote] section of MVE_Config.ini

Configuration example follows, note the following features:
  • both maps and filters have multiple tags at the same time
  • dm1on1 filter matches maps that are both :SMALL and :DM
  • dmlowgrav filter matches maps that are both :LG and :DM
  • dmsniper is either :LARGE:DM maps or :LG:DM maps
  • dmnolowgrav contans all DM-* maps excluding maps tagged :LG

Code: Select all

[MVES.MapVote]
bEnableMapTags=True
CustomGame[0]=(RuleName="Normal",FilterCode="dmnolowgrav", ...)
CustomGame[1]=(RuleName="1on1",FilterCode="dm1on1", ...)
CustomGame[2]=(RuleName="Low Gravity",FilterCode="dmlowgrav", ...)
CustomGame[3]=(RuleName="Sniper",FilterCode="dmsniper", ...)
CustomGame[4]=(RuleName="Medium Sized",FilterCode="dmmedium", ...)
MapFilters[0]=dm1on1 :SMALL:DM
MapFilters[1]=dmlowgrav :LG:DM
MapFilters[2]=dmsniper :LARGE:DM
MapFilters[3]=dmsniper :LG:DM
MapFilters[4]=dmmedium :MEDIUM:DM
MapFilters[5]=dmnolowgrav DM-*
ExcludeFilters[0]=dmnolowgrav :LG

Code: Select all

[MVES.MapTagsConfig]
MapTagsVersion=1
MapTags[0]=DM-Fractal:DM:SMALL
MapTags[1]=DM-Morbias][:DM:SMALL
MapTags[2]=DM-HyperBlast:DM:SMALL
MapTags[3]=DM-Stalwart:DM:SMALL
MapTags[4]=DM-Deck16][:DM:MEDIUM
MapTags[5]=DM-Crane:DM:LARGE
MapTags[6]=DM-Morpheus:DM:MEDIUM:LG
Hey it is working perfectly Thanks for the explanation.
Now i like to put my own custom logo
I have the .jpg file but I don't know where to start?
what do I have to do to import it in UT?
User avatar
_21
Experienced
Posts: 80
Joined: Mon Aug 30, 2021 10:51 am

Re: Map Vote Extended (MVE2c) improvements of MVE2a

Post by _21 »

@giresun27: wow! glad you got it working!

For logo you need to set a property where you reference the texture,
you can start with an existing texture to test it out.

Code: Select all

[MVES.MapVote]
ClientLogoTexture=Botpack.ASMDAlt_a00
For custom texture you need to get a custom texture package.

If you have bOverrideServerPackages enabled then the mapvote should automatically add
the texture package to ServerPackages, but in case you don't have that feature enabled you'll
need to manually add your package to ServerPackages so that players who join will be able to
download and display the new texture.

You can create a new texture package using UnrealEd you can import a BMP as texture into your
very own package name. Give your package name a unique name.

There should be tutorials for this in the mapping section. Texture must be power of two. 256x128,
128x128 and 256x256 are good sizes for logo texture. Scaling preserves aspect ratio instead of stretching.
I recommend having mipmaps enabled, depending on UI scaling a different mipmap will be used.

If this is confusing take a look at mapping tutorials they explain how to import textures.
giresun27
Average
Posts: 42
Joined: Thu Mar 26, 2020 4:27 pm
Personal rank: 34

Re: Map Vote Extended (MVE2c) improvements of MVE2a

Post by giresun27 »

_21 wrote: Sat Sep 03, 2022 1:55 pm @giresun27: wow! glad you got it working!

For logo you need to set a property where you reference the texture,
you can start with an existing texture to test it out.

Code: Select all

[MVES.MapVote]
ClientLogoTexture=Botpack.ASMDAlt_a00
For custom texture you need to get a custom texture package.

If you have bOverrideServerPackages enabled then the mapvote should automatically add
the texture package to ServerPackages, but in case you don't have that feature enabled you'll
need to manually add your package to ServerPackages so that players who join will be able to
download and display the new texture.

You can create a new texture package using UnrealEd you can import a BMP as texture into your
very own package name. Give your package name a unique name.

There should be tutorials for this in the mapping section. Texture must be power of two. 256x128,
128x128 and 256x256 are good sizes for logo texture. Scaling preserves aspect ratio instead of stretching.
I recommend having mipmaps enabled, depending on UI scaling a different mipmap will be used.

If this is confusing take a look at mapping tutorials they explain how to import textures.
yeah logo also works now thanks

only a little problem
Some maps show as duplicate in mapvote
it should be 14 maps but it shows as 24 with the duplicates

[MVES.MapTagsConfig]
MapTagsVersion=1
MapTags[0]=CTF-Acrony-S6:L
MapTags[1]=CTF-Anfractuous-S6:L
MapTags[2]=CTF-BrokenLimits-S6:L
MapTags[3]=CTF-Command-S6:L
MapTags[4]=CTF-Duku-S6:L
MapTags[5]=CTF-Grudge-S6:L
MapTags[6]=CTF-Klondike-S6:L
MapTags[7]=CTF-Mesmerize-S6:L
MapTags[8]=CTF-Nuance99-S6:L
MapTags[9]=CTF-Overflow-S6:L
MapTags[10]=CTF-PryXon-S6:L
MapTags[11]=CTF-Rune-S6:L
MapTags[12]=CTF-Sprinta-S6:L
MapTags[13]=CTF-Switchback-S6:L




otherwise everything works fine
You do not have the required permissions to view the files attached to this post.
User avatar
_21
Experienced
Posts: 80
Joined: Mon Aug 30, 2021 10:51 am

Re: Map Vote Extended (MVE2c) improvements of MVE2a

Post by _21 »

Strange how you got duplicates there, but very cool to see a working screenshot! Looks like you got a hang of the way to configure this.

In theory each map is only processed once, and it's matched against filters to see where each map goes.
Perhaps you have the same map multiple times on disk? Maybe in separate folders?

If you feel like it's a bug that I should look into then send me your MVE_Config.ini and MVE_MapList.ini then I can take a look to see what its happening.
giresun27
Average
Posts: 42
Joined: Thu Mar 26, 2020 4:27 pm
Personal rank: 34

Re: Map Vote Extended (MVE2c) improvements of MVE2a

Post by giresun27 »

_21 wrote: Sat Sep 03, 2022 9:46 pm Strange how you got duplicates there, but very cool to see a working screenshot! Looks like you got a hang of the way to configure this.

In theory each map is only processed once, and it's matched against filters to see where each map goes.
Perhaps you have the same map multiple times on disk? Maybe in separate folders?

If you feel like it's a bug that I should look into then send me your MVE_Config.ini and MVE_MapList.ini then I can take a look to see what its happening.
yeah sure
my mveconfig is not finished yet
here they are
what is noticed is
i made a second line with another mutator
and on the secondline it does show all 14 correctly.
only the first gameconfig is showing duplicates.
You do not have the required permissions to view the files attached to this post.
User avatar
[rev]rato.skt
Adept
Posts: 441
Joined: Mon Aug 16, 2010 1:09 pm

Re: Map Vote Extended (MVE2c) improvements of MVE2a

Post by [rev]rato.skt »

hey man now it worked nice, I would like to know if these looped logs are correct for this one in debug?

I would like to give an idea of ​​something new, and request an improvement on what you already have..

1 - could put a list at the top with the most played maps and modes with the option to enable and disable... and edit the name too

Image

2 - the ini is kinda disorganized with information appearing at the end and in the middle of the ini


Code: Select all

Login: vw!((RT))
VA - Options: Class: BotPack.TMale2 Skin: SoldierSkins.RawS Face: SoldierSkins.Arkon Voice: BxBVoicePack.BxBVoicePack
Possessed PlayerPawn: VAPlayer CTF-Clarion[SwS].VAPlayer0
Join succeeded: vw!((RT))
[NPLoaderv19b] Player Join: vw!((RT)) (192.168.0.4:49566)
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is False
[MVEDEBUG]     Return ShouldJoinMapVote True
[MVEDEBUG]   Enter PlayerJoined
[MVE] PlayerJoined: vw!((RT)) (CTF-Clarion[SwS].VAPlayer0) with id 0
[MVEDEBUG]   Return PlayerJoined
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[NSC-SYS] Login request for vw!((RT
[NSC-SYS] IP       = 192.168.0.9
[NSC-SYS] ClientID = B7DF24C-EF57A5467570
[NSC-SYS] Login accepted.
Player: vw!((RT)) first login to SmartBan with WinID: 20225422423432 | Time = 26.258949
[NPLoaderv19b] Loading complete for player: vw!((RT))
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[ACEv13b]: [vw!((RT))]: [IP] 192.168.0.4
[ACEv13b]: [vw!((RT))]: [OS] Microsoft Windows 10 x64 (Version 10.0.19044)
[ACEv13b]: [vw!((RT))]: [MAC1] C656B77E6A8B204A3CEFFBAA299BD256
[ACEv13b]: [vw!((RT))]: [MAC2] C656B77E6A8B204A3CEFFBAA299BD256
[ACEv13b]: [vw!((RT))]: [HWID] FBA3DF1FCC3A1B061EB016EC1A26349B
[ACEv13b]: [vw!((RT))]: [TIME] 04-09-2022 / 17:36:44
Player: vw!((RT)) received HWID: FBA3DF1FCC3A1B061EB016EC1A26349B | Time = 31.616512
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[ ADMIN ] vw!((RT)) has logged in as an administrator.
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVE] Scanning all map files, this might take a while
[MVE] Remove old + add new maps...
[MVE] Checking premade lists...
[MVE] Matched 110 maps to 24 gametypes from 111 scanned maps.
[MVE] Map list has been reloaded, check results in the `MVE_MapList.ini`
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].VAPlayer0, P.bIsPlayer True
[MVEDEBUG]     Enter ShouldJoinMapVote
[MVEDEBUG]     PP == None is False
[MVEDEBUG]     PP.PlayerReplicationInfo == None is False
[MVEDEBUG]     PlayerName is vw!((RT))
[MVEDEBUG]     PP.Player == None is False
[MVEDEBUG]     MapVote.GetWatcherFor(PP) != None is True
[MVEDEBUG]     Return ShouldJoinMapVote False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
Close TcpipConnection0 09/04/22 17:38:20
[NSC-SYS] vw!((RT)) has left the server.
[ACEv13b]: [vw!((RT))]: Disconnected from the server.
The Player vw!((RT)) left the Server
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers
[MVEDEBUG] Enter DetectPlayers
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore1, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].sgBaseCore0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG]   Enter DetectPlayer forCTF-Clarion[SwS].NNAnnouncerSA0, P.bIsPlayer False
[MVEDEBUG]   Return DetectPlayer
[MVEDEBUG] Return DetectPlayers




Last edited by [rev]rato.skt on Fri Sep 09, 2022 4:55 am, edited 1 time in total.
Brazilian Server:
Alma Negra - 34.95.189.187:7777
Classic - madruga.utbr.cf:7777
Duel - x1.utbr.cf:6666
User avatar
_21
Experienced
Posts: 80
Joined: Mon Aug 30, 2021 10:51 am

Re: Map Vote Extended (MVE2c) improvements of MVE2a

Post by _21 »

@[rev]rato.skt:
[rev]rato.skt wrote: Sun Sep 04, 2022 10:15 pmhey man now it worked nice, I would like to know if these looped logs are correct for this one in debug?
Alright! You got it to work!
Thanks for sending the logs, it helps me understand a bit what's happening.
The log loop was just in that special build so I can get a better idea what's happening in your case.
I have a build for you which should work the same and not have those pesky logs:
MVES.zip
[rev]rato.skt wrote: Sun Sep 04, 2022 10:15 pm1 - could put a list at the top with the most played maps and modes with the option to enable and disable... and edit the name too
That sounds like a cool feature to have, it might be possible in the future.
I'm thinking of making some integrated statistics into MVE, but before that
happens there are bugs with the current maphistory that's messing things up,
that needs to be cleaned up first.
[rev]rato.skt wrote: Sun Sep 04, 2022 10:15 pm2 - the ini is kinda disorganized with information appearing at the end and in the middle of the ini
As I add and remove stuff from MVE itself there will be new properties appearing and some
dissapearing from INI the new properties always are added at the end, so if you upgraded an
old MVE config to new one, stuff will get a bit mixed up.

Unfortunately there is no way to reorder the INI entries from UnrealScript.
You will need to do this manually yourself to keep the INI as clean as readable as you can.
Move up things that should be on top.

@giresun27:
giresun27 wrote: Sun Sep 04, 2022 6:05 pm yeah sure
my mveconfig is not finished yet
Oh it's a never ending journey! A lot of work goes into managing this configuration! Good luck!
giresun27 wrote: Sun Sep 04, 2022 6:05 pm here they are
what is noticed is
i made a second line with another mutator
and on the secondline it does show all 14 correctly.
only the first gameconfig is showing duplicates.
Thanks for sharing! I looked into it the files to see if I can spot anything strange.

Both were using the same fitlercode? Or is one using league filtercode and the other ictf filtercode?
If both use same filtercode and once you get duplicates and once you don't that would be very concerning. Probably a bug.

I noticed you have a duplicate line in the map filters section, one should be enough.
lines MapFilters[0] and MapFilters[1] are identical. Can you check if removing one and reloading helps with duplicates?

Code: Select all

MapFilters[0]=league :L
MapFilters[1]=league :L
MapFilters[2]=ictf CTF-*
MapFilters[3]=
I also noticed that you used FFNLogoTexV3 as a package name for your texture,
please invent a new package name, if you rename the texture file that should work.
Otherwise people who join FFN servers and your servers will get an annoying a package mismatch.
You do not have the required permissions to view the files attached to this post.
giresun27
Average
Posts: 42
Joined: Thu Mar 26, 2020 4:27 pm
Personal rank: 34

Re: Map Vote Extended (MVE2c) improvements of MVE2a

Post by giresun27 »

Thanks for sharing! I looked into it the files to see if I can spot anything strange.

Both were using the same fitlercode? Or is one using league filtercode and the other ictf filtercode?
If both use same filtercode and once you get duplicates and once you don't that would be very concerning. Probably a bug.

I noticed you have a duplicate line in the map filters section, one should be enough.
lines MapFilters[0] and MapFilters[1] are identical. Can you check if removing one and reloading helps with duplicates?

Code: Select all

MapFilters[0]=league :L
MapFilters[1]=league :L
MapFilters[2]=ictf CTF-*
MapFilters[3]=
I also noticed that you used FFNLogoTexV3 as a package name for your texture,
please invent a new package name, if you rename the texture file that should work.
Otherwise people who join FFN servers and your servers will get an annoying a package mismatch.
[/quote]

Tried with 1 mapfilter league :L made no difference
both are using the same filtercode "league" only specific ctf tagged maps.

I think it is a bug
can you maybe fix it?
its functional but doesnt look clean.
User avatar
[rev]rato.skt
Adept
Posts: 441
Joined: Mon Aug 16, 2010 1:09 pm

Re: Map Vote Extended (MVE2c) improvements of MVE2a

Post by [rev]rato.skt »

Hi, friend if you put CustomGame up to 200 causes some kind of problem with or in some compatibility??
Brazilian Server:
Alma Negra - 34.95.189.187:7777
Classic - madruga.utbr.cf:7777
Duel - x1.utbr.cf:6666
User avatar
Que
Inhuman
Posts: 812
Joined: Mon Dec 09, 2019 5:49 am
Personal rank: ...

Re: Map Vote Extended (MVE2c) improvements of MVE2a

Post by Que »

@21 perhaps in a future version you could have an exclusion filter system under each gametypes mutators="-mymutator", Actors="-myactor" type thing like we do in MVX.

This way if an admin has set for example SmartScoreboard as a Server actor (for all Gametypes)
The admin can exclude this Actor from running in some Gametypes (RocketArena) for example.

This system works well 😊🙂

Therefore -prefixing the Actor/Mutator in the relevant ini setting would tell MVE NOT to load those Actors/Mutators?
21 wrote: I'm thinking of making some integrated statistics into MVE, but before that
happens there are bugs with the current maphistory that's messing things up,
that needs to be cleaned up first.
Map Statistics? Like most popular? Perhaps add popular Gametypes as well;

Code: Select all

GameType   | Map      | Count
DeathMatch | Deck16][ | 99999
*Join our Discord Here.*
Our mods - MVX , SSB , SmartWFL , UTCmds , BotCommands , Smart Stats , join/leave announcer , NoSmoke , UTLogin , BrightSkins , Server Tran…
*Our Servers