Skip to content

Commit 1a84379

Browse files
committed
Release MVE2i
1 parent 001eedc commit 1a84379

6 files changed

Lines changed: 82 additions & 25 deletions

File tree

docs/changelog.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# `MVE2i` **TODO** February 2026
1+
# `MVE2i` 25 February 2026
22

33
This release contains 2 years of upgrades and improvements. The main focus has
44
been improving compatibility, fixing bugs and some new features for admins and

docs/feature-documentation.md

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,19 @@ gain a bit of understanding, you'll be able to make larger changes with
3939
confidence, but until then make the smallest changes and see what it does.
4040

4141

42+
## Travel State
43+
44+
MapVote holds between map switches in a special file called `MVE_Travel.ini`
45+
If mapvote crashes or if the current map is deleted it's possible for this
46+
file to contain instructions to switch to a map or load a gametype for which
47+
the packages no longer exist. This can cause a crashloop where mapvote will
48+
keep trying to switch to the map that does not exist.
49+
50+
To reset the travel state simply vote for a mode and map and which works. If
51+
it's not possible to bring up mapvote anymore then an admin needs to delete
52+
the `MVE_Travel.ini` file and restart the server to start from a clean state.
53+
54+
4255
## Map Lists (aka FilterCode)
4356

4457
Every gametype you configure requires a list of maps. The list of maps to be
@@ -260,11 +273,11 @@ The following configuration properties support aliases:
260273
- MainServerPackages
261274
- CustomGame[n].ExcludeMutators
262275
- DefaultSettings
263-
- CustomGame[i].Settings
276+
- CustomGame[n].Settings
264277
- DefaultUrlParameters
265-
- CustomGame[i].UrlParameters
266-
- CustomGame[i].GameClass
267-
- Aliases[i]
278+
- CustomGame[n].UrlParameters
279+
- CustomGame[n].GameClass
280+
- Aliases[n]
268281

269282
The aliases are recursively resolved. This is a fancy way of saying that an
270283
alias can be used inside another alias. In practice what this means is that

docs/quickstart.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,13 @@ III. Troubleshooting
122122
Restore this configuration from a stock install of UT99 if needed to.
123123

124124

125+
4. Map vote is crash looping trying to switch to map
126+
127+
A. The most likely cause that triggers this is a missing map or missing
128+
packages. Please investigate the server log for problems. Delete the
129+
`MVE_Travel.ini` to reset mapvote's state.
130+
131+
125132
IV. Additional Support
126133
======================
127134

readme.md

Lines changed: 57 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
# MVE - Map Vote Extended
2+
# MVE - Map Vote Extended
33

44
[![ci](../../workflows/ci/badge.svg)](../../actions/workflows/ci.yml)
55

@@ -8,33 +8,56 @@ MapVote lets players to choose the next gametype and map when a match ends.
88

99
![Screeshot of MapVote](./docs/map-vote-screen.png)
1010

11+
## Features
12+
13+
This mapvote is mainly focused on enabling multi-gametype servers. There was
14+
also a lot of work on compatibility so that it can load any gametype, mutator,
15+
package combination and mapvote itself can be run in multiple ways.
16+
17+
Important Features:
18+
- ServerPackages set per gametype -> Players only download what's needed for
19+
the current gametype, not the whole server.
20+
- Mutators, ServerActors, settings configurable per gametype
21+
- Map overrides allow map specific configuration (limited to a few configuration props)
22+
1123
Map management:
12-
- include/exclude filters
13-
- map prefix filter
14-
- map tags filter
15-
- premade lists
24+
- Include/exclude filters
25+
- Map prefix filter
26+
- Map tags filter
27+
- Fixed order premade lists
1628

17-
Compatible with:
29+
Compatible with gametypes:
1830
- Assault (including LeagueAssault)
1931
- Jailbreak (fixed spectator bug)
2032
- Coop campaigns with fixed map order
2133
- DeathMatch, CTF & Domination
2234
- MonsterHunt
2335
- BunnyTrack
2436

25-
Important Features:
26-
- ServerPackages set per gametype, players only download what's needed for
27-
the current gametype.
28-
- Mutators, ServerActors, settings are all configurable individually
29-
for every gametype.
37+
For more info read the [documentation](./docs/feature-documentation.md).
38+
There also have a [changelog](./docs/changelog.md).
3039

3140

3241
## Installation
3342

34-
To install, grab one of the [latest release](../../releases/latest) and follow the readme
35-
from the that comes with the release. You should be able to find an
36-
[installation guide](./ReleaseFiles/MVE2dev/Help/Map%20Vote%20Extended.txt)
37-
inside the Help folder.
43+
To install, grab one of the [latest release](../../releases/latest) and follow
44+
the [quickstarter](./docs/quickstart.txt) readme. Which should be located in
45+
the Help folder of any release package.
46+
47+
48+
## Bugs and feature requests
49+
50+
You can use github issues for this, it will be easy to track the issue that
51+
way. I may not be able to respond immediately. For server setup help please
52+
contact the UT99 community first as there are many admins familiar with this
53+
mapvote they may be able to help with your problem before I even read the
54+
message.
55+
56+
For bugs relevant log and configuration snippets are appreciated without which
57+
it can be hard to guess what's going on.
58+
59+
Feature requests will be weighted based on the fesability and usefulness and
60+
whether it makes sense for it to be withing mapvote.
3861

3962

4063
## Development
@@ -46,6 +69,8 @@ To package a release, make the neccesay changes inside `./ReleaseFiles` then
4669
copy the built *.u files to the System folder inside `./ReleaseFiles`, package
4770
this all together.
4871

72+
There is also [release.sh](./scripts/release.sh) which automates this process.
73+
4974
Recommended development environment:
5075
- editor [VsCodium](https://vscodium.com/) or [VsCode](https://code.visualstudio.com/)
5176
- language support [ucx](https://marketplace.visualstudio.com/search?term=ucx&target=VSCode)
@@ -55,15 +80,27 @@ Recommended development environment:
5580
- [nodemon](https://nodemon.io/) is needed for watch tasks to work
5681

5782
Alternatively what I recommend is to grab the release archive and extract the code
58-
from the release packages. That way you can still modify and debug, but if you
59-
plan on submittin a PR then you will have to re-apply your local changes on
60-
top of this repository.
83+
from the release packages. That way you can still modify and debug.
6184

6285
The project uses unit tests. These must always be green to ensure the correct
6386
function of logic classes. The test code can be found in separate packages.
6487
To run the tests you need to run [TestMVE.TestAll.TestMain()](TestMVE/Classes/TestAll.uc)
6588
This can be done by running `ucc TestMVE.TestAll`
6689

67-
MVE has a long history of development with contributions from many people.
6890

69-
Each author retains copyright to their code.
91+
## History, license and forks
92+
93+
MVE has a long history of development with contributions from many people.
94+
The project was copied, decompiled and modified by multiple people which is
95+
why the code itself is quite the spaghetti monster. I've been doing my best to
96+
clean things up and have rewritten major parts of this software already and I
97+
hope to continue cleaning it up.
98+
99+
Theoretically each author retains copyright to their code, but as with most
100+
UT99 mutators, things get copied and modified so feel free to do so yourself.
101+
I will not come with pitchfork after you and hopefully neither will my
102+
prececessors who built layed the foundation pieces for this mapvote. I can also
103+
neither provide any support or warranty of any sorts.
104+
105+
There are probably hundreds of forks floating around of the original mapvote
106+
anyways and I also know of a few forks of this mapvote too.

scripts/release.sh

100644100755
File mode changed.

scripts/runloop.sh

100644100755
File mode changed.

0 commit comments

Comments
 (0)