Comments (8)
I wouldn't bother supporting vanilla q3 qvms for anything other than 'authenticity' as it has a LOT of bugs and unpatched vulnerabilities, consider using baseq3a mod with dedicated rotation system
from quake3e.
From what I can tell, this looks like a valid engine bug. In quake3e, SV_Restart is invoked automatically due to time overflow conditions, which calls the map console command, which calls SV_SpawnServer, which resets the nextmap cvar and breaks the rotation. In vanilla q3, it looks like the reset is done via vstr nextmap instead which allows the rotation to update nextmap and preserve itself.
I'd suggest that SV_Restart should not alter the nextmap cvar. Additionally, if there is any compatibility reason to keep the nextmap reset in SV_SpawnServer at all, it would probably be good if there was at least a cvar option to disable it to allow a setup where a standard rcon map command doesn't automatically break the rotation.
from quake3e.
Did it stay on a map for multiple days? Without change? You might also not have sv_levelTimeReset set.
I am not entirely sure if it is the best idea to preserve the value of nextmap
cvar upon forced restart on extreme long uptime or even the slightly less extreme long uptime either. There may be some corner case issues where setting it to the old value could break other mods, they would need to be tested and investigated if it is safe to do so.
Related:
https://github.com/ec-/Quake3e/blob/master/code/server/sv_main.c#L1337-L1355
https://github.com/ec-/Quake3e/blob/master/code/server/sv_main.c#L1249-L1274
from quake3e.
The server can stay up without a map change for multiple days, though not typically 23 as mentioned in the first link. However, I've observed the problem even with clients on the server reaching fraglimit
. I have timelimit
set to 0. The map rotation will work fine for several maps as players reach fraglimit
and will then begin to restart the same map over and over as nextmap
somehow becomes set to map_restart 0
.
I'll try setting sv_levelTimeReset
and see if that helps.
from quake3e.
Have you considered using the ec-/baseq3a mod? It has fixes plus also a replacement system for map rotation iirc.
from quake3e.
Oh nice, I will look into it. Thanks.
from quake3e.
To be clear, isn't vanilla qvm support important for mod compatibility? Mods based on the vanilla game may not implement every patch but it's still useful for the engine to support them as well as possible.
from quake3e.
For reference, it looks like cnq3 does not reset or touch nextmap at all.
from quake3e.
Related Issues (20)
- fs_basegame behavior with mods errors with Couldn't load default.cfg HOT 8
- Greyscale Functionality Question HOT 3
- Anisotropic filter broken in Latest Build Oct 29, 2023 HOT 3
- [build] `LDFLAGS` in `./Makefile` should be additive HOT 2
- WASAPI: unsupported channel count 6 HOT 1
- Increase max sv_dlRate HOT 2
- Quake 3 enhanced has weird annoying noisy sound when running *WORKAROUND AVAILABLE* HOT 7
- New Cbuf_Add function doesn't play nice with wait command HOT 6
- Shader Scripts Not Ordering Properly Across .shader Files HOT 12
- R_TEXTUREMODE is not behaving persistently through sessions with the Vulkan renderer HOT 3
- All bot models replaced by player selected model HOT 10
- Add OpenArena autodetection HOT 1
- pak0.pk3 is missing on aarch64 Alpine Linux HOT 1
- r_gamma command doesn't work anymore HOT 8
- rj doesn't work anymore HOT 2
- Notes on Raspberry Pi 4 Model B Vulkan support HOT 3
- [Enhancement] Add CVAR to change WINDOW TITLE HOT 3
- win arm32 compiling HOT 4
- [Feature request] Support setting custom extension when using `video-pipe`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from quake3e.