CacusMapVote [Server Interface] [RC3b]

Search, find and discuss about Mutators!
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

CacusMapVote [Server Interface] [RC3b]

Post by Higor »

Download link:
CacusMapVote_RC3b.7z
NexGen detection timeout increased to 17 seconds.
Setting VotePriority to negative value makes the game mode require all players to vote.
Aliases work on game settings.
Mutate overflow protection, moderator kickvotes worth x2.
>>> RC3b > bugfix in map list reload
(42.24 KiB) Downloaded 147 times
CacusMapVote_RC2.7z
Added 5 second wait after map ends before vote windows show up.
Added Random Map vote option, added 'bHasRandom' option to custom games.
Vote countdown timer now runs in real seconds.
Nexgen detection timeout increased from 10 to 12
(45.12 KiB) Downloaded 194 times
CacusMapVote_RC1.7z
Fixed MapList reload requiring a level switch to properly display the new list on clients.
NexGen detection timeout changed to 10 seconds, now NexGen112N servers work with CMV (PID_Nexgen mode).
The MVLA14UUb13C client package is sent without a 'ServerPackages=' directive on XC_GameEngine v11 (or above) servers.
(41.71 KiB) Downloaded 181 times
Documentation:
========================
==CacusMapVote backend==
========================
Backend and plugin made by Higor.
This is supposed to run with the MVLA14UUb13C frontend by Gust.
I will not distribute the above file as it hasn't been officially released, you may
ask Gust for it or join one of the servers running this mapvote and retrieve it from the
caches.
If you have a different version of the file, it may end up working with a bit of bytehacking.


=== Installation ===
In /System folder(s):
- CacusMapVote.u
- CMV_14UUb13C.u
- MVLA14UUb13C.u (frontend by Gust, not provided here)
- CacusMapVote.int (if you wish to run and setup the mutator within the UT client)
If you're not using the INT file (dedicated server?), you may start/shutdown the server
with said mutator loaded to autogenerate the CacusMapVote.ini configuration file.
Add to [GameEngine]'s ServerPackages list the frontend MVLA14UUb13C, unless you're running
XC_GameEngine version 11 or above.

=== Setting up the basic options ==
Can be done on the INI file (shut down server first), or on the Advanced Options dialog (Preferences command).
Any unmentioned settings should never be changed from their defaults as they're not
entirely functional or simply require them to stay on these values.
The value displayed first is always the default one.

- bEnableHTTPMapList=False
Allow transferring the map list using an internal HTTP webserver

- HTTPMapListLocation=None
Base address for HTTP map list transfer protocol (ex: 192.168.1.2:27011)

- HTTPMapListPort=7781
HTTP port, for internal usage, must match the one specified above (ex:27011)

- ServerCodeName= [autogenerated on first map reload if empty]
Customize server name for client cache entries, only simple chars/numbers (ex: SuperDuperServer)

- VoteTimeLimit=15
Time left for voting after map ends, in seconds

- bKickVote=True
- KickPercent=51.000000
- MidGameVotePercent=51.000000

- PlayerIDType=PID_Default
PID_Default > ID players by IP (kickvoting fails on online players in same LAN)
PID_NexGen > ID players using NexGen (1 match ban issued when kickvoting occurs, NexGen MUST be running)

- bWelcomeWindow=True
Annoying welcome keybinder window

- bSpecsAllowed=False
Allow specs to vote maps?

- bAutoOpen=True
Auto open vote window on map end

- bOverrideServerPackages=False
Let CacusMapVote handle ALL the ServerPackages list setup every map
Doesn't need to be enabled if XC_GameEngine version 11 or above is running.
- bResetServerPackages=False
One-time switch, saves current ServerPackages list as default CMV Packages list
Requires bOverrideServerPackages=True, resets itself to false once finished.
- MainServerPackages=
List of base ServerPackages
Never run with bOverrideServerPackages if empty unless bResetServerPackages=True
It's recommended to autogenerate it and then change it to convenience.
If you're running XC_GameEngine version 11 or greater ignore this setting.

- MapCostMaxAllow=0
Do not allow maps with more accumulated points than specified here to be voted

- MapCostAddPerLoad=0
Accumulate these points on a map once it wins a votation
All maps that accumulate points will have -1 point substracted on each map switch.

- DefaultGameTypeIdx=0
Internal index for the default gametype to apply when server starts up

- CustomGame[0 - 47]
CMV does not use default game types, all gametypes must be registered as custom games.
-- bEnabled (bool)
Consider it during map list generation.
-- GameName (string)
Give it a name.
-- RuleName (string)
Give it a category name
-- GameClass (string, Package.Class)
Game class to load.
-- FilterCode (short string, no spaces)
Use all map filters with the above tag during list generation.
Maps of any name/prefix may be used with your gametype!
-- bHasRandom (bool)
Add a 'random' map option to the map list
-- bNoCooldown (bool)
Maps don't become unavailable after being voted.
-- VotePriority (float)
Make maps from this gametype require more votes.
If negative, all players must vote in order for mid game voting to kick-off.
-- MutatorList (string, "Package.Class,Package.Class,etc")
Load and setup these mutators AFTER GameInfo Init, before map actor BeginPlay events
-- Settings (string, "Setting=Value,Setting2=Value,etc")
Apply these settings AFTER GameInfo Init, before map actor BeginPlay events
-- Packages (string, "Package,Package,etc")
Add these extra ServerPackages (to the base list) for this gametype.
Requires [XC_GameEngine version 11] or [bOverideServerPackages=True and a MainServerPackages list].
WARNING: The whole line must have less than 1024 characters!!

- MapFilters[0 - 255]
String, format is "FilterCode FilterRule" (one space between)
FilterCode is the tag used by gametypes
FilterRule may go as "PREFIX*" or "EXACTNAME" (CTF-*, CTF-Niven, MapWithoutPrefix)

- ExcludeFilters[0 - 255]
Same as above, applied after MapFilters to negate certain results

=== Startup ===
CacusMapVote runs as a mutator (CacusMapVote.CacusMapVote) and will take most of BDBMapVote's mutate commands.
Initially setting up the game mode list should be done before reloading the map lists but
it can be done for testing the mapvote's functionality.
Reloading the map list may be a slow process and can cause all players to disconnect if it takes more than 10 seconds.
The map list can be manually reloaded by logging in as administrator and entering the following command:
- MUTATE BDBMAPVOTE RELOAD

=== Maintenance ===
The admin panel is almost entirely inoperative, map list reloading is the only thing that works.
The server should be shut down before doing setting changes.
The history setting file isn't suited for manual editing.
The map list setting file must have matching real and 'counted' map count or will fail to display on clients.

=== Usage ===
The following say commands are identified as mapvote window openers:
!v, !vote, !mapvote, !kickvote
Map vote only operates in majority mode.
Kick vote requires at least 4 votes to kick in, this has be done to prevent kicking players when
player count is too small, players may not kick NexGen moderators (NexGen mode), admins or themselves.
Casting a kickvote on an invalid target resets the kick vote to none.
You may cast a kick vote on yourself to clear your vote.
Admins may force maps and kickvotes.
During NexGen mode, kickvoting a player will issue a 1 match NexGen ban instead.

=== HTTP webserver ===
There has not been done extensive testing on security and reliability, therefore it is disabled by default.
The webserver will reject queries from IP's that don't match any of the ingame players as a security measure.
The webserver will reject queries with invalid parameters (known only to the mapvote frontend).
You do not need to edit or activate the default webserver module.
An alternate one is created with the map list sender as it's only WebApp.
If you do have default webserver running, make sure to use a different port.
Don't forget to forward said ports.

=== Premade map lists ===
Premade map lists are created via filters, all it takes is a filter starting with "premade".
Premade list is useful to force a specific order on an arbitary map set.
The default config has "premadesp" as an example in filter slots 100-138.
Premade lists do not do map checks! So make sure every single map in the list loads.
You cannot add wildcards to premade filters, they do exact map name checks.
Map names in premade lists must not contain extension.
Obviously, premade lists do not work at all in 'Exclude' lists.

=== Aliasing ===
You may alias a text into a smaller wildcard within the characters <,>
This is useful for readability, and quick updates of multiple gametypes that share mutators/packages.
Aliasing can be used on the following settings:
- MainServerPackages
- CustomGame[x].Packages
- CustomGame[x].GameClass
- CustomGame[x].MutatorList

=== Dynamic Package Loading ===
If your server is running XC_GameEngine version 11 or above, you don't need to use the old
and unsafe dynamic package loader, simply specify the optional packages that don't implement
this themselves and CacusMapVote will add them so that clients may download them!
Just specify in 'ServerPackages' a common base list of packages and add to each game mode's
Package variable the packages you want to be loaded.
The XC_GameEngine package loader occurs at map start instead of before map switch, making
it work on servers with a properly setup Crash map and default gametype!!
Regarding the MVLA14UUb13C, this is also covered by this feature.

=== Contact ===
caco_fff@hotmail.com
Higor - UT99.org
Last edited by Higor on Thu Nov 22, 2018 8:45 am, edited 7 times in total.
User avatar
[rev]rato.skt
Adept
Posts: 438
Joined: Mon Aug 16, 2010 1:09 pm

Re: CacusMapVote [Server Interface] [RC1]

Post by [rev]rato.skt »

After a long time we are back, and we will test !!! thanks
Brazilian Server:
Alma Negra - 34.95.189.187:7777
Classic - madruga.utbr.cf:7777
Duel - x1.utbr.cf:6666
User avatar
[rev]rato.skt
Adept
Posts: 438
Joined: Mon Aug 16, 2010 1:09 pm

Re: CacusMapVote [Server Interface] [RC1]

Post by [rev]rato.skt »

I noticed an error in cacus mapvote, clicking on the deck map, nothing happens even select the other map, can only after clicking on another map...
Brazilian Server:
Alma Negra - 34.95.189.187:7777
Classic - madruga.utbr.cf:7777
Duel - x1.utbr.cf:6666
abomination
Novice
Posts: 14
Joined: Tue May 12, 2015 4:00 pm

Re: CacusMapVote [Server Interface] [RC1]

Post by abomination »

I experienced an error with the mapvote and a custom gametype which extends CTF4. If I start my server on a CTF map, when I vote for a CTF4-* map (renamed as CTF-[4] for a previous mapvote), the server stops responding. The error logs end up with thousands of the same line until I stop the server:

Code: Select all

ScriptWarning: FC_BlueFlag CTF-[4]BurgerWars][.FC_BlueFlag0 (Function Botpack.CTFFlag.home.EndState:000F) Accessed None
ScriptWarning: FC_BlueFlag CTF-[4]BurgerWars.FC_BlueFlag1 (Function Botpack.CTFFlag.home.EndState:000F) Accessed None
ScriptWarning: FC_BlueFlag CTF-[4]BurgerWars.FC_BlueFlag2 (Function Botpack.CTFFlag.home.EndState:000F) Accessed None
I notice any reference to the map including servertravel is missing .unr for the CTF4/CTF-[4] maps. I wonder if this causes the problem? Further, I wonder what causes the .unr to drop off.


I discovered that if I start the server with a CTF-[4]* map and use the exact same CacusMapVote configuration, I do not have this problem. I can switch between all custom gametypes with no issues.
abomination
Novice
Posts: 14
Joined: Tue May 12, 2015 4:00 pm

Re: CacusMapVote [Server Interface] [RC1]

Post by abomination »

Higor, obviously you've got quite few projects going on with FerBotz/XC_Engine/etc so I'm not sure how much time if any you're dealing with CMV but I had a few thoughts while testing it on my server.

Perhaps provide an option like "bStayWithMapList" or something where the current configuration of Game/Rule would be defaulted at the end of a game, so players could continue to vote for that game, only having to click a new game or rule set if they want? Maybe along the same lines as this, an option to stick with this game/rule if no votes. Instead of a 100% random pick, a random pick from the current game/rule maplist. [edit - another related thought] - I'm not sure how many other people would want this but what about a "random" button. Random to me would be a vote. If the majority votes for "random" a random map would be picked and that's what you'd play. Sometimes I find if there are just 2 or 3 of us on the server they just want a random map, and we end up just sitting there for the duration of the mapvote timer. Alternatively, have it "roll the dice" immediately and pick a random map for you, adding a "user has voted for map [random]" ?

Finally I think an option to delay the auto open would be nice.


If not. That's fine too. I like this better than any other mapvote I've ever seen. The work you're doing for UT99 is fantastic :rock:
Last edited by abomination on Fri Jun 19, 2015 1:33 pm, edited 1 time in total.
User avatar
Chamberly
Godlike
Posts: 1963
Joined: Sat Sep 17, 2011 4:32 pm
Personal rank: Dame. Vandora
Location: TN, USA
Contact:

Re: CacusMapVote [Server Interface] [RC1]

Post by Chamberly »

abomination wrote:Finally I think an option to delay the auto open would be nice.

This seem to be the most suggested feature as I've heard from 5+ different peoples as well. Everyone like to look at the scoreboard/ss it b4 the map pop up.
Timer for voting should be longer I tried to make it longer but didn't seem like I'm getting it lol.
Image
Image
Image Edit: Why does my sig not work anymore?
User avatar
Chamberly
Godlike
Posts: 1963
Joined: Sat Sep 17, 2011 4:32 pm
Personal rank: Dame. Vandora
Location: TN, USA
Contact:

Re: CacusMapVote [Server Interface] [RC1]

Post by Chamberly »

& another thing to add, to adjust the mapvote RepeatLimit... setting it to 0 didn't make the change and some peoples are bugging me to "fix it"... :shock:
I have no choice other than telling them to keep voting map until said map limit they want to vote is gone or get a hold of me but I'm not always around to do that sadly. Yet they still bug me about it.
Image
Image
Image Edit: Why does my sig not work anymore?
User avatar
Wises
Godlike
Posts: 1089
Joined: Sun Sep 07, 2008 10:59 am
Personal rank: ...

Re: CacusMapVote [Server Interface] [RC1]

Post by Wises »

looking good :D

keep up the good works.

had a thought whilst looking at some of the various file transfer methods implemented with this and Xc_GameEngine and was thinking ,

perhaps an UnrealTransferProtocol of some-sort lol

so players and perhaps even servers could send / recieve files through UT

possible idea's could be players sending players files/mods

server's could have splash screens in the UT GUI with links to direct downloads etc.

anyways good stuff , again , keep up the good works.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: CacusMapVote [Server Interface] [RC2]

Post by Higor »

Updated to RC2, changes in first post.
User avatar
Chamberly
Godlike
Posts: 1963
Joined: Sat Sep 17, 2011 4:32 pm
Personal rank: Dame. Vandora
Location: TN, USA
Contact:

Re: CacusMapVote [Server Interface] [RC2]

Post by Chamberly »

Passing out an CMV.ini that include Newnet setup and Bunnytrack for those who are interested. :P

http://www.mediafire.com/view/uqiwbaclv ... apVote.ini
Image
Image
Image Edit: Why does my sig not work anymore?
User avatar
[rev]rato.skt
Adept
Posts: 438
Joined: Mon Aug 16, 2010 1:09 pm

Re: CacusMapVote [Server Interface] [RC2]

Post by [rev]rato.skt »

Chamberly wrote:Passing out an CMV.ini that include Newnet setup and Bunnytrack for those who are interested. :P

http://www.mediafire.com/view/uqiwbaclv ... apVote.ini

The difficult is to find a current version of NewNet or even that why you used version.. :mad2:
Brazilian Server:
Alma Negra - 34.95.189.187:7777
Classic - madruga.utbr.cf:7777
Duel - x1.utbr.cf:6666
User avatar
Chamberly
Godlike
Posts: 1963
Joined: Sat Sep 17, 2011 4:32 pm
Personal rank: Dame. Vandora
Location: TN, USA
Contact:

Re: CacusMapVote [Server Interface] [RC2]

Post by Chamberly »

Pretty simple, if you look at the global unreal website, there is the original release. There ARE private release, and some are just recompiled by other as they are NOT the official release by TimTim. This version I use is just modified unofficial release of Newnet. :P Nothing additional fixed or so. :P lol
Image
Image
Image Edit: Why does my sig not work anymore?
User avatar
[rev]rato.skt
Adept
Posts: 438
Joined: Mon Aug 16, 2010 1:09 pm

Re: CacusMapVote [Server Interface] [RC2]

Post by [rev]rato.skt »

Chamberly wrote:Passing out an CMV.ini that include Newnet setup and Bunnytrack for those who are interested. :P

http://www.mediafire.com/view/uqiwbaclv ... apVote.ini
I tried use your configs vote map but can not work Show me one paragraph of the unrealtournament.ini A look if I missed something ?

Other Day....

other thing , I can not align in order Some this, already tried of All Forms and I could turn on and off the NewNet ONLY using another modifier, DynamicActorLoader , the cacus can not that you start the NewNet those Acts and NOT those prefectures Files..

[DynamicActorLoader.DynamicActorLoader]
ActorConfig[0]=(Prefixes="ASnw,CTFnw,DMnw,DOMnw,TDMnw",Actors="NewNetUnrealv0_9_15.NewNetServer,NewNetWeaponsv0_9_15.PureStat")
ActorConfig[1]=(Prefixes="DMnw1x,DMnw2x",Actors="NewNetUnrealv0_9_15.NewNetServer,NewNetWeaponsv0_9_15.PureStat,NewNetUnrealv0_9_15.PureAutoPause")

Image
Brazilian Server:
Alma Negra - 34.95.189.187:7777
Classic - madruga.utbr.cf:7777
Duel - x1.utbr.cf:6666
User avatar
[rev]rato.skt
Adept
Posts: 438
Joined: Mon Aug 16, 2010 1:09 pm

Re: CacusMapVote [Server Interface] [RC2]

Post by [rev]rato.skt »

Hi higor,
hey,

this mutator suffered any update?
It has long been not updated this mutator!

:rock: :gj:
Brazilian Server:
Alma Negra - 34.95.189.187:7777
Classic - madruga.utbr.cf:7777
Duel - x1.utbr.cf:6666
User avatar
[rev]rato.skt
Adept
Posts: 438
Joined: Mon Aug 16, 2010 1:09 pm

Re: CacusMapVote [Server Interface] [RC2]

Post by [rev]rato.skt »

Hello higor, you abandoned this beautiful project?
or Or can we expect some improvements?
Brazilian Server:
Alma Negra - 34.95.189.187:7777
Classic - madruga.utbr.cf:7777
Duel - x1.utbr.cf:6666
Post Reply