Tremulous Forum

Mods => Mod Releases => Non-Gameplay Changing => Topic started by: Lakitu7 on May 24, 2007, 09:54:32 pm

Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on May 24, 2007, 09:54:32 pm
This is the old version. 5.x is now available here:
http://tremulous.net/phpBB2/viewtopic.php?p=88535


-------------
Lakitu7's Tremulous 1.1 QVM
Current Version: 4.18
From SVN Revision 910

Downloads:
http://www.mercenariesguild.net/patches/?do=details&task_id=69


While playing on and admining Tremulous servers, I've found a distinct lack of a server package that
a) Contains all of the features that I want
b) Doesn't have any nonsense that ruins the game

Thus, like many server owners, I began the task of making my own for the {SGA} Server. While I originally intended to just put something together from existing patches, I quickly found that patches for many things that I wanted either didn't exist, weren't available, or weren't available separate from a ton of other things that I didn't want, or couldn't be applied together.

By the time I'd finished tracking down, separating, and creating my own patches, I'd done enough work to feel that I should distribute this QVM. Thanks to the encouragement of my friends asking for it, I've finished getting this to a releasable state.

As an overview, my QVM includes EVERYTHING in tjw's 1.1 QVM (not the balance changes tested on trem.tjw.org nowadays, but the things here: http://tjw.org/tremulous/). It also includes a number of the more popular enhancements found in other packages (avenger, risujin, *wraths') and things that I have written myself for features and bugfixes that I wanted.

If you do decide to use this, I would appreciate leaving a post here to tell me the name of your server. Then I can know to tell you about updates or bugs or whatever if I see you in game/irc.

--------------------
Installation:

Easy way:

Follow TJW's instructions at http://tjw.org/tremulous/SETUP.txt, but wget a URL for my QVM instead of his. My QVM DOES use TJW's Tremded executable, so get it from http://tjw.org/tremulous/

Harder way:
Download TJW's tremded, as above
Compile my qvm yourself:
Download SVN revision 910 (svn svn://svn.icculus.org/tremulous/ -r910)
Apply my .patch
make

If you're using linux, you should already know how to compile things.

If you're using Windows, use either of the excellent build guides at:
http://tremulous.net/phpBB2/viewtopic.php?t=3408
http://tremulous.net/phpBB2/viewtopic.php?t=2672

--------------------

Contact Information:
Forums: The Lakitu7's 1.1 QVM thread, tremulous.net forums, mods subforum
IRC: Lakitu7 on Freenode, Quakenet, Dorksnet, or Zirc
Ingame: {SGA}Lakitu7, probably on Beergarden

--------------------
FAQ:

Q: I want a QVM with features x and y, but not z. Will you compile one for me?
A: Unless you're a good friend of mine and you have a darn good reason why you can't do it yourself, no. If you're running Linux, I'm sure you know how to compile your own anyway. If you're running Windows, see either of the excellent build guides linked in "harder way." If you ask nicely and put forth the effort to learn to do things yourself, I may help you, but I won't do it for you. The only thing I put here that's really all that controversial is SD Votes and those are both controlled and disablable.

Q: I don't want your QVM, but I do want patch X from it
A: I've made EVERY patch that I have used available here: http://browsingtheinternet.com/trem/patches/910_qvm/
 

Q: I found a bug.
A: Well damn, tell me. Use the contact information above and I'll fix it. If it's part of a patch that I didn't make, then I'll still fix it, or I'll whine at whoever did to to fix it instead :).

Q: I have a suggestion for a new feature.
A: Maybe. If I don't see myself using something, I won't code it for you. But if the idea is good and I'd like to have it, perhaps. BUT, I have no interest in doing any fullscale mods that make sweeping gameplay changes. I do not have any interest in making any "balance" changes. If your suggestion is nice and can be implemented with a reasonable degree of effort, I'll think about it.

Q: You should add the Protoss/Predator/MDriver Turret/M4A1 Abrams Tank/BFG9000
A: Hay man that's so cool how about you make it yourself and then post it on the forums.

Q: Update this for newer SVN revisions
A: This was already a ton of work. Maybe. It depends on how many things get into SVN that I want to include BEFORE 1.2 comes out. Then I may or may not release something for 1.2.

--------------------
The long, long list of patches/features:

I have mirrored every patch that I've used here:
http://browsingtheinternet.com/trem/patches/910_qvm/

The ones that I have made I've also mostly submitted to http://www.mercenariesguild.net/patches

You may use any patches that I have made for whatever you wish, but as with all GPLed code, follow the license: you must keep it opensource.

Other patches are available from their given sources

Listing is roughly in order of significance of their effect, in my opinion

Patches that have multiple things are together because they don't apply together in their seperate forms. I have linked their original separated versions where applicable.

--
backport901_tjw_game_qvm_only.patch
Description: Backports SVN code to be compatable with 1.1 clients. QVMs generated are to be used with TJW's Tremded
Author: vcxzet
Source: http://www.mercenariesguild.net/patches/?do=details&task_id=3 (Why he 'closed' the task for the most important patch there is well beyond me
--
tjw-no_chomp_during_pounce.patch
tjw-poison-system.patch
Description: Balance changes from TJW's 1.1 QVM. You're likely used to all of them
Author: TJW
Source: http://tjw.org/tremulous/ (separated out by me) Info here: http://tjw.org/tremulous/FEATURES.txt
--
sdmodes+sdvotes+denybuild+denybuildvotes+mutevotes+customvotes+specvoting.patch
This is my votes megapatch. Only customvotes is my idea, but none of these patches would otherwise apply together. In the case of SD Modes + SD Votes, I had to rewrite most of the SD functions to make them work together. Please enjoy my efforts.

SDModes: Adds different methods of sudden death.
Author: TJW
Source: http://tjw.org/tremulous/ (separated out by me) Info here: http://tjw.org/tremulous/FEATURES.txt

SD Votes: Allows /callvote sudden_death
Author: Avenger
Source: https://bugzilla.icculus.org/show_bug.cgi?id=2920 (modified heavily by me)

g_suddenDeathVotePercent
Author: me
Percentage required to vote yes for Sudden Death votes to pass. This is in an effort to balance them. Set to 0 if you want to DISABLE them entirely. Defaults to 75

g_mapVotesPercent
Author: me
Percantage required to vote yet for map, nextmap, and map_restart votes to pass.

DenyBuild: !denybuild user, disallows user from building
Author: Peoro
Source: http://wraths.dyndns.org/games/tremulous/patches/svn901/
This is in SVN as of r925

DenyBuildVotes: /callvote denybuild user
Author: Me, sort of
This is in SVN as of r925

Mute Votes: /callvote mute user
Author: Avenger (Rewritten by me)
THis is in SVN as of r925

Spectator Voting: g_allowSpecVoting toggles ability for spectators to vote and call votes
Author: Peoro
Source: http://wraths.dyndns.org/games/tremulous/patches/svn901

Custom Votes: /callvote custom "String goes here".
Allows the calling "custom" votes. Before r858, people would use /callvote map "Is unnamedPlayer an idiot?" Since that's diabled now by a check to verify that "is unnamed player an idiot.bsp" exists before calling the vote, I replaced it with customvotes. They DO nothing, but can be useful for an admin to ask a question of users on their server.
Also has /callteamvote custom "String goes here" for things like /callteamvote custom "Move to window room?"  Idea for teamvote version thanks to Benmachine
Author: Me

--
dretchPunt+no_pounce_trample_ff.patch

Dretchpunt: everyone knows what this is already
Author: TJW
Source: http://tjw.org/tremulous/ (separated out by me)

No Pounce and Trample FF: turn frindly fire on pounce/trample on and off by g_friendlyFireMovementAttacks. Irrelevant if g_friendlyFire is off.
Idea: Norfenstein/TJW. Rewritten for 1.1 by me
Source: trem.tjw.org server autodownload

--
mnp-share+risujin-donate.patch
Authors: Martin Doucha, Risujin
Source: http://tremulous.net/phpBB2/viewtopic.php?t=3014 , https://bugzilla.icculus.org/show_bug.cgi?id=2896
Please turn these off. They ruin the game. g_allowShare 0 will turn off BOTH of them. I just have them because they're so damn popular that I can't not do it anymore.

--
002.tjw.www_download.patch
003.tjw.teamkill_messages.patch
005.tjw.vote_message_in_console.patch
009.peoro.building_messages.patch
011.r1ch.sticky_spec.patch
012.peoro.change_team_messages.patch
014.peoro.namelog_shows_prohibition.patch
016.np.black_names_fix.patch
017.npa.privmsg_to_console.patch
022.kristall.nojoin_warmup_time.patch
027.napkin.more_info_to_flag4.patch
034.risujin.ckit_recovers_with_blaster.patch
035.pierre.realtime_stamp_at_mapstart.patch

All of these are from  http://wraths.dyndns.org/games/tremulous/patches/svn901 and their authors/functions are obvious from the filenames. Several notes:

Stickyspec: Camera doesn't change to a new person when the one you're specatating dies
I'd use my own version, but it requires client side mods too. Developers, Please, please put this into SVN.
https://bugzilla.icculus.org/show_bug.cgi?id=2792

Black Names Fix: Fixes the bug with white ^ and black names. Black names are disallowed by this fix, as was intended by the original code.
--
avenger-enhanced_give.patch: adds more options to /give for devmap use
Author: Avenger
https://bugzilla.icculus.org/show_bug.cgi?id=3075
Added to svn 937 now
--
gate-!warn.patch: !warn user reason
Author: Gate
Displays a big ol' message to your target that tells them that an admin is warning them for reason: reason and they should stop whatever they are doing and comply. I feel this is a much less abusable alternative to !slap

--
foobar-NewbieNaming-0.90-899.patch: Auto-renaming of unnamedPlayers to your choice + numbers
Author: Foobar
http://tremulous.net/phpBB2/viewtopic.php?t=3738

--
kev-putmespec-svn827.patch: !specme
Author: Kevlarman
I modified this to !specme instead because that seems to be what most people expect it to be called. Personally, I don't see why people can't just use /team spectate, but it's requested a lot, so here it is.

--
risujin-retribution.patch: Teamkillers pay their victims for the price of their equipement.
Author: Risujin
Source: http://tremulous.net/phpBB2/viewtopic.php?t=3014  Separated out by me

--
svn910revert+lakitu7-admin_true_name_in_banlog.patch:

svn910 revert:
Reverts kick and ban code to how they were pre-revision910. The bug that introduced (https://bugzilla.icculus.org/show_bug.cgi?id=3096) is worse than the bug that it fixed (https://bugzilla.icculus.org/show_bug.cgi?id=3052).

Admin true name:
Save admin's "true" name in the ban logs. "True" name is the one that shows up in !listplayers when they are using something else
Author: Me

--
lakitu7-devmapNoGod+devmapNoStructDmg.patch
g_devmapNoGod: Disables use of /god, /noclip, and /give health during /devmap. Useful during practices
g_devmapNoStructDmg: Prevents damaging structures during /devmap. Useful during practices
Author: Me

--
lakitu7-g_minLevelToSpecMM1.patch: Spectators with admin level < g_minLevelToSpecMM1 can only speak to other spectators. (/say_team, but not /say) Combine with g_privateMessages 0 to be uninterrupted by spectators during clan matches
Author: Me

--
lakitu7-g_minLevelToJoinTeam.patch: Only users with admin level > g_minLevelToJoinTeam can join a team. Otherwise, they are forced to spectate. This can be used to quickly create a private server.
Author: Me
--
lakitu7-l1command.patch: Adds command !L1, usable by admin levels with flag S. !L1 user sets a level 0 user to level 1. Made to be used with g_minLevelToJoinTeam.
Author: Me

--
lakitu7-name-duplication-color-fix.patch
Author: Me
Fixes g_admin's name check functions to prevent two people from having the same name, different only by color codes or leading/trailing spaces.
https://bugzilla.icculus.org/show_bug.cgi?id=3161

--
lakitu7-PMDisabledFix.patch: When g_privateMessages 0, prevents attempted messages from being sent publically and making you look like an idiot. IE: /m teammate OH MAN THESE GUYS ARE GIANT NEWBS doesn't get sent to the whole server.
Author: Me
https://bugzilla.icculus.org/show_bug.cgi?id=3093
Added to SVN 940

--
lakitu7-restart_keepteams_switchteams.patch: Adds !restart keepteams and !restart switchteams
Author: Me
Useful for clan matches when you want to set things up, then !restart the round while keeping people on the teams they've just joined.

--
LogTeamClass.patch: This does something or other to make tremstats work
Author: Wolfwings
Source: http://dev.dasprids.de/programs/tremstats/

--
mute-name.patch
mute-novote.patch
mute-pm.patch
mute-tell.patch
Muted people can't change names, vote, or send PMs (or get around that with /tell)
Author: Avenger

--
risujin-svn929-admin_layout.patch
Adds !devmap and !savelayout back to g_admin. Works with the existing implementation of !layout in SVN
Author: Risujin
Source: http://v1.risujin.org/pub/tremulous/admin_layout-svn929.patch.tar.gz

--
benmachine-info923-8.patch
Adds !info <topic> admin command, usable by those with flag H. It Returns the text of a file from /info/info-topic.txt. See source for full info.
Author: benmachine
Source: http://www.mercenariesguild.net/patches/?do=details&task_id=43

--
benmachine-me-action939-4.patch
Adds IRC-like /me command. It's useless, but fun. g_allowActions disables it. g_actionPrefix changes the text that appears before an action to denote that it is an action.
Author: benmachine
Source: http://www.mercenariesguild.net/patches/?do=details&task_id=5

--
avenger-g_maxGameClients.patch
Do not allow more than g_maxGameClients to join a team. Connected clients beyond this amount can only spectate, creating spectator slots, R1Admin style.
Author: Avenger
Source: https://bugzilla.icculus.org/show_bug.cgi?id=2969

--
benmachine-antiblock940-5.patch
Forcibly bumps players out of the way when they are blocking the spawn. This patch is disabled by default, for now. Set g_antiSpawnBlock 150 to try it out.
Author: benmachine
Source: http://www.mercenariesguild.net/patches/?do=details&task_id=70

--
philbordelon-floodprotection+lakitu7-enhancements.patch
Prevents flooding of chat commands. Controled by g_floodMinTime. 0=off. Default: 2000.
Admins with admin permission #2 (immune to flood protection & censorship) are immune. This permission was already in the admin system, but didn't do anything because it wasn't implemented yet. All forms of /say are protected by flood protection, along with PMs and admin commands. g_floodMaxDemerits lets you fine tune the harshness of the protection somewhat. See the source link for details. I defaulted it to 5000.

Author: Phil Bordelon (Updated and given a few more features by me)
Source (Original): https://bugzilla.icculus.org/show_bug.cgi?id=2811

--
lakitu7-g_deconDead.patch
Adds g_deconDead, which controls the ability to decon structures that have 0 health and are about to explode, causing damage. This was possible before g_markdeconstruct (r880), but was regardless of g_markdeconstruct's setting. g_deconDead defaults to 0 (svn behavior, cannot decon dead structures). g_deconDead reverts to the pre-880 behavior.
Author: Me

--------------------
List of new cvars, commands, and admin flags

Admin flags:
d: !denybuild, !allowbuild
l: !layout, !devmap
S: !L1
w: !warn
H: !info

Cvars:
g_newbieNumbering: Default 0
g_newbieNamePrefix: Default "Newbie#"
g_suddenDeath: Used by SD votes. May break things if you modify via rcon manually
g_suddenDeathMode: Default 2
g_friendlyFireMovementAttacks: Default 1 for compatability, Recommended 0 (turns off pounce/trample damage)
g_retribution: Default 100.
g_allowSpecVoting: Default 1 (allow)
g_suddenDeathVotePercent: Default 75. (3/4ths must vote yes to pass) Set to 0 to disable SD votes entirely.
g_mapVotesPercent: Default 50.
g_allowShare: Default 0. Also controls /donate. Please leave this off, it ruins the game :(
g_minLevelToJoinTeam: Default 0
g_minLevelToSpecMM1: Default 0
g_dretchPunt: Default 1
g_devmapNoGod: Default 0
g_devmapNoStructDmg: 0
g_maxGameClients: Default 0 (no limit)
g_allowActions: Default 1
g_actionPrefix: Default "***"
g_antiSpawnBlock: Default 0 (disabled). Set to 150 to turn on.
g_deconDead: Default 0 (disallow deconning dead structures)
g_floodMinTime: Default 2000. Set to 0 to turn off flood protection
g_floodMaxDemerits: Default 5000. Fine tuning of flood protection. See docs for more info.


Commands:
/me
/me_team
/share
/donate



----
Version Log:

4.18: Fixed SD Mode 1. It's been broken all this time and nobody noticed, I guess. Thanks Kevlarman.
4.17: Changed to Phil Bordelon's (better) flood protect system instead of mine. Covers PM spam.
4.16: Reverted g_admin_ban code to SVN909 version (see svn910revert+lakitu7-admin_true_name_in_banlog.patch notes)
      !L1 fix: Now doesn't give undesired behavior when people have numbers and spaces in their names
      Added g_deconDead
4.15: Simple chat flood protection
4.10: Removed tjw's antiwarp (too many problems, especially when unlagged is off)
      added /me
      added !info
      added g_maxGameClients
      added team customvotes
      modified the "__ called a vote" console message to say what they called a vote for
      modified vote messages to say what percent is needed to pass, if this percent != 50
      added g_antiSpawnBlock (but disabled it by default for now)
4.03: Fixed votes percentages; I'm an idiot
4.02: Fix mute-PM, add mute-tell
4.01: g_markDeconstruct default to 0
4.00: First public release


--------------------
Credits: The following people contributed code, created included code, or provided help to make this possible:
kevlarman, vcxzet, Napkin, Avenger, Risujin, r1ch, peoro, tjw, pierre, Khalsa, foobar, gate, Martin Doucha, Wolfwings, benmachine, Phil Bordelon
Title: Lakitu7's Tremulous 1.1 QVM
Post by: benmachine on May 24, 2007, 10:11:31 pm
Nice job, and very well documented. This may well be motivation enough to get me to release mine, it's certainly a motivation to start documenting properly now.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: n00b pl0x on May 24, 2007, 11:23:46 pm
By far my favorite qvm. :D only thing i dont like is the fact that you stopped dumbasses from showing their phailed P.M.S. to the entire server. :evil:

Still, <3 Lak.

Edit: Question: Do we leave g_suddendeath blank?
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on May 25, 2007, 01:16:25 am
Quote from: "n00b pl0x"

Edit: Question: Do we leave g_suddendeath blank?


It shouldn't really matter either way, but yeah, just don't set it. The game will automatically set it to 0 at the start of each round, then set it to 1 during SD when SD naturally occurs. If a sd vote occurs, it will be set to 1, which will trigger early SD. Doing g_suddenDeath 0 in rcon will work to remove SD if it's before natural SD time, but not after. This is technically a bug, but honestly I don't think SD should be removed once started, so I didn't fix it.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Paradox on May 25, 2007, 01:27:58 am
Damn nice patch, i may put it on sst.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Morx on May 25, 2007, 02:52:05 am
Sweat!!!That on sst!
Title: Lakitu7's Tremulous 1.1 QVM
Post by: TinMan on May 25, 2007, 02:58:11 am
*Sweet
Title: Lakitu7's Tremulous 1.1 QVM
Post by: techhead on May 25, 2007, 03:02:41 am
Quote from: "TinMan"
*Sweet

Correction: Very Sweet
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Matt2k10 on May 25, 2007, 03:20:10 am
I love it.
Also thanks for making custom votes, I was gonna code that myself, but you did it already :D
Title: Lakitu7's Tremulous 1.1 QVM
Post by: rdizzle on May 25, 2007, 03:56:51 am
nice work, THANK YOU!
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on May 25, 2007, 04:20:10 am
By the way, Napkin's told me that they've experienced some really wacky lag/warping issues when using skip correction & maxWarp on with unlagged turned off. If you have unlagged turned off and are experiencing that type of problem, that is probably your issue... especially since nothing else here messes with that type of code. :) Let me know how things work out. If someone confirms, I'll put it in the docs at least... or perhaps just add something to automatically disable the skip correction patch when unlagged is turned off. Either way, let me know if you experience things issues.

Glad everyone is so excited. :)
Title: Lakitu7's Tremulous 1.1 QVM
Post by: kevlarman on May 25, 2007, 05:42:39 am
you forgot to make g_markdeconstruct default to 0. :roll:
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Exclamation on May 25, 2007, 05:51:19 am
Quote from: "kevlarman"
you forgot to make g_markdeconstruct default to 0. :roll:


Yeah, that screwed me up. Took a while to figure out.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Paradox on May 25, 2007, 06:04:40 am
Are you going to ever add risujins flood protection? It was quite useful from keeping people from holding spam binds.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on May 25, 2007, 06:20:16 am
Quote from: "kevlarman"
you forgot to make g_markdeconstruct default to 0. :roll:


Oh, I suppose people new to backports should have that done for them. Yeah, I'll take care of it and reupload.

Quote from: "Paradox"
Are you going to ever add risujins flood protection? It was quite useful from keeping people from holding spam binds.


Maybe. I've never played with it. I'm used to there being enough admins around to take care of things. I'll have a look, anyhow. It's not a bad idea. I've heard people complain about his implementation though.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on May 25, 2007, 06:43:14 am
Done. g_markdeconstruct now defaults to 0.

Sorry about that. I didn't really think about trying to do much in the way of documenting or changing things in SVN.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Undeference on May 25, 2007, 06:50:55 am
You didn't mention votes requiring reasons, did you? It looks like you used Risujin's version of my code.

If you use my rewritten ClientCommand, it should be trivial to add in anti-spam stuff... something like:
Code: [Select]
if( cmds[ i ].cmdFlags & CMD_SAY )
{
  // do your magic here
}
but you'd still have to write the foolproof anti-spam system, since I doubt anyone else has. (As I've probably mentioned before repeatedly, the problem is not so much people hitting a bind too many times, but people intentionally annoying other players. They can always circumvent the anti-spam measures.)

Quote
Q: Update this for newer SVN revisions
A: This was already a ton of work. Maybe. It depends on how many things get into SVN that I want to include BEFORE 1.2 comes out. Then I may or may not release something for 1.2.
Hm, what might you want?
stfu overmind?
more accurate vote eligibility counts?
correct auto selection for layouts?
more accurate player counting?
g_teamForceBalance that works right?

Quote
Q: I have a suggestion for a new feature.
A: Maybe. If I don't see myself using something, I won't code it for you.
So as long as it's not new or you don't have to write it, you're fine with adding it (like share and donate, which you claim "ruin the game")? How about adding /steal? :wink:

Quote
Doing g_suddenDeath 0 in rcon will work to remove SD if it's before natural SD time, but not after. This is technically a bug...
Don't look at me. It worked perfectly in my version of g_suddenDeath.

Quote
Mute Votes: /callvote mute user
Author: ?? (Rewritten by me)
THis is in SVN as of r925
Author: me (https://bugzilla.icculus.org/attachment.cgi?id=1171)?

Quote
Developers, Please, please put this into SVN.
https://bugzilla.icculus.org/show_bug.cgi?id=2792
My guess is that won't happen until a while after this (https://bugzilla.icculus.org/show_bug.cgi?id=3091) is added, which will require a rewrite of your patch.

Quote
kev-putmespec-svn827.patch: !specme
Author: Kevlarman
I modified this to !specme instead because that seems to be what most people expect it to be called.
"specme" like "spectate me", like "/follow ..."? Of course, you could solve that problem by just naming it something like "!movemetothespectatorteam" (you'd have to increase MAX_ADMIN_CMD_LEN though).

Quote
LogTeamClass.patch: This does something or other to make tremstats work
Author: Dasparid
Author: Wolfwings

Quote
mute-pm.patch
If that's the first version, don't use /m from the server console.
[Edit]I don't see that in your code. But I do see Cmd_Share_f returning if you are muted (why?).[/Edit]
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on May 25, 2007, 07:07:19 am
When I'm making patches that I intend to get into SVN, then I'll do them all in the most clean, elegant, and proper way possible for that end. When I'm making patches to do things to meet the needs of the playerbase more immediately, I'll make things that work. This is largely meant to be the later.


Quote from: "Undeference"
You didn't mention votes requiring reasons, did you? It looks like you used Risujin's version of my code.

If you use my rewritten ClientCommand, it should be trivial to add in anti-spam stuff... something like:
Code: [Select]
if( cmds[ i ].cmdFlags & CMD_SAY )
{
  // do your magic here
}
but you'd still have to write the foolproof anti-spam system, since I doubt anyone else has. (As I've probably mentioned before repeatedly, the problem is not so much people hitting a bind too many times, but people intentionally annoying other players. They can always circumvent the anti-spam measures.)


Maybe. I need to do research on the various antispam implementations before I decide what should or shouldn't go in. I'm just plain ignorant about the subject for now.

Quote
Q: Update this for newer SVN revisions
A: This was already a ton of work. Maybe. It depends on how many things get into SVN that I want to include BEFORE 1.2 comes out. Then I may or may not release something for 1.2.
Hm, what might you want?
stfu overmind?
more accurate vote eligibility counts?
correct auto selection for layouts?
more accurate player counting?
g_teamForceBalance that works right?

This is a problem like waiting to buy hardware because it's going to be obsolete next week. Yeah, I'll get to it. No, those weren't important enough to deny the community the things I have done while I redo everything to put them in.

Quote
Q: I have a suggestion for a new feature.
A: Maybe. If I don't see myself using something, I won't code it for you.
So as long as it's not new or you don't have to write it, you're fine with adding it (like share and donate, which you claim "ruin the game")? How about adding /steal? :wink:


One exception done reluctantly under many requests completely defines policy, obviously.


Quote
Doing g_suddenDeath 0 in rcon will work to remove SD if it's before natural SD time, but not after. This is technically a bug...
Don't look at me. It worked perfectly in my version of g_suddenDeath.


Admitted. But SD Modes didn't.


Quote
Mute Votes: /callvote mute user
Author: ?? (Rewritten by me)
THis is in SVN as of r925
Author: me (https://bugzilla.icculus.org/attachment.cgi?id=1171)?

Sure, I'll update that in the readme tomorrow.

Quote
Developers, Please, please put this into SVN.
https://bugzilla.icculus.org/show_bug.cgi?id=2792
My guess is that won't happen until a while after this (https://bugzilla.icculus.org/show_bug.cgi?id=3091) is added, which will require a rewrite of your patch.

I'll look into it. Any attention paid to spectating is good attention though, IMHO.


Quote
kev-putmespec-svn827.patch: !specme
Author: Kevlarman
I modified this to !specme instead because that seems to be what most people expect it to be called.
"specme" like "spectate me", like "/follow ..."? Of course, you could solve that problem by just naming it something like "!movemetothespectatorteam" (you'd have to increase MAX_ADMIN_CMD_LEN though).

Or I'll just leave it like it is because it's done for consistency with other patches.

Quote
LogTeamClass.patch: This does something or other to make tremstats work
Author: Dasparid
Author: Wolfwings

OK I'll fix that too.

Quote
mute-pm.patch
If that's the first version, don't use /m from the server console.[/quote]
Feel free to update bugzilla to the new version anytime you wish to prevent others from making my mistake then.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Undeference on May 25, 2007, 07:20:19 am
Quote
Admitted. But SD Modes didn't.
I never even pretended to support the different sudden death modes (and the changes required to implement the weird ones shouldn't have effect the decision of whether it is sudden death or not).
Quote
Feel free to update bugzilla to the new version anytime you wish to prevent others from making my mistake then.
I did in April. (https://bugzilla.icculus.org/show_bug.cgi?id=2931#c6)
(But there's nothing I can do about the patch getting applied wrong :P)
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Evlesoa on May 25, 2007, 07:30:53 am
nice job... looks good! I like the features

+1
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on May 25, 2007, 04:27:00 pm
Bump to 4.02
Fixed mute-PM, added Mute-Tell (after fixing it to also check that *ent exists)

Yeah, mute-PM incorrectly applied to cmd_share. Yay for diff/patch not having enough context.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Undeference on May 25, 2007, 08:36:12 pm
Quote from: "Lakitu7"
Bump to 4.02
Fixed mute-PM, added Mute-Tell (after fixing it to also check that *ent exists)
You can't "tell" from the server console.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Paradox on May 26, 2007, 01:20:01 am
Its up, plus a few things done by benmachine.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Morx on May 26, 2007, 01:45:47 am
On SST.Ahhh!!!!To bad i need more memory for my computer.Have to wait for Christmas or Feb. or if i get lucky my Parents will give me one in the middle of the Summer.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: SexyGhost on May 26, 2007, 12:03:01 pm
What did you add of Benmachine? If it's cool, I was wouldering if you can send it to me.
sexyghosty@hotmail.com

Thxs
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Rabbitt on May 26, 2007, 01:18:02 pm
Hey Lakitu i will be using this on The Arena server.
If theres anything my noob ass can see that's wrong or seem's wrong i shall let you know.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on May 26, 2007, 03:23:17 pm
Quote from: "SexyGhost"
What did you add of Benmachine? If it's cool, I was wouldering if you can send it to me.
sexyghosty@hotmail.com

Thxs


 I wouldn't mind the answer to that question either, so I could know what people think it's "missing" so to speak. The flood protection, I'd guess?

[edit]
Actually I just bugged him for the answer on IRC. :) Anti-spawnblock, !info, overflow. I'll probably add anti-spawnblock and !info fairly soon. Anti-spawnblock is new and !info I've been waiting for him to "finish." Overflow, probably not, but :)

Benmachine also mentioned team-customvotes, which sounds good and I'll do it for sure.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: benmachine on May 26, 2007, 05:06:28 pm
Yeah, it was !info, antispawnblock, overflow, and flood protection. I forgot about that last one, but it should be there.
SST don't seem to be running it now though, Paradox reported an odd bug to me that I guess I must have introduced in my patching, so I'm gonna want to fix that before I do a public release. Lakitu7 also reminded me of an addition to !info (to read cvars for you) that I'm going to try to get done as well.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: SexyGhost on May 26, 2007, 05:46:54 pm
So whats !info and Anti-spawnblock do? Why wouldn't you add overflow?

EDIT: Why doesn't Mark Decon work?
Title: Lakitu7's Tremulous 1.1 QVM
Post by: PFB on May 26, 2007, 05:53:33 pm
Quote from: "SexyGhost"
So whats !info and Anti-spawnblock do? Why wouldn't you add overflow?

EDIT: Why doesn't Mark Decon work?

!info [sth]: gives info about [sth] which is stored in a text file
Anti-spawnblock: pushes the blocker. if it cant push it starts making damage
overflow: he is already included
Mark Decon: it requires a new cgame or a nasty hack
Title: Lakitu7's Tremulous 1.1 QVM
Post by: SexyGhost on May 26, 2007, 05:57:09 pm
So... if i do !info It tells me about something? Lakitu7 You wanna try a nasty hack for meh? :P
Title: Lakitu7's Tremulous 1.1 QVM
Post by: kevlarman on May 26, 2007, 07:29:30 pm
Quote from: PFB
Quote from: "SexyGhost"
Mark Decon: it requires a new cgame or a nasty hack
actually the nasty hack didn't work out too well.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Paradox on May 26, 2007, 09:35:37 pm
How do the votes work? Are they percent of server, or percent of voters. If they were percent of voters, that would make sense, however percent of server is pretty much counting anyone who didnt vote as no.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on May 26, 2007, 10:06:58 pm
Percent of voters, after the time limit. It's only percent of the server if it ends early because such a large percentage of the server has voted yes (or no) that nothing the rest do would change it.

This is no change from the original behavior.

Code: [Select]

void CheckVote( void )
{
  int votePercentToPass=level.votePercentToPass;
  int voteYesPercent;

  if( level.voteExecuteTime && level.voteExecuteTime < level.time )
  {
    level.voteExecuteTime = 0;

    trap_SendConsoleCommand( EXEC_APPEND, va( "%s\n", level.voteString ) );
    if( !Q_stricmp( level.voteString, "map_restart" ) ||
        !Q_stricmpn( level.voteString, "map", 3 ) )
    {
      level.restarted = qtrue;
    }
  }

  if( !level.voteTime )
    return;

  voteYesPercent = (int)(100* (level.voteYes-level.voteNo)/(level.voteYes + level.voteNo));
  if( level.time - level.voteTime >= VOTE_TIME || ( level.voteYes + level.voteNo == level.numConnectedClients ) )
  {
    if( voteYesPercent> votePercentToPass || level.voteNo == 0 )
    {
      // execute the command, then remove the vote
      trap_SendServerCommand( -1, "print \"Vote passed\n\"" );
      level.voteExecuteTime = level.time + 3000;
    }
    else
    {
      // same behavior as a timeout
      trap_SendServerCommand( -1, "print \"Vote failed\n\"" );
    }
  }
  else
  {
    if( level.voteYes > (int)((double)level.numConnectedClients * ((double)votePercentToPass/100.0)) )
    {
      // execute the command, then remove the vote
      trap_SendServerCommand( -1, "print \"Vote passed\n\"" );
      level.voteExecuteTime = level.time + 3000;
    }
    else if( level.voteNo > (int)((double)level.numConnectedClients * ((double)(100.0-votePercentToPass)/100.0)) )
    {
      // same behavior as a timeout
      trap_SendServerCommand( -1, "print \"Vote failed\n\"" );
    }
    else
    {
      // still waiting for a majority
      return;
    }
  }

  level.voteTime = 0;
  trap_SetConfigstring( CS_VOTE_TIME, "" );
}

Title: Lakitu7's Tremulous 1.1 QVM
Post by: Paradox on May 27, 2007, 12:38:17 am
I presume that votes only affect map, map_restart, and nextmap?

Because on sst the other day, no matter the number of voters, normal votes like kick, denybuild, and mute would always fail no matter the percentage.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on May 27, 2007, 02:21:32 am
Code: [Select]
voteYesPercent = (int)(100* (level.voteYes-level.voteNo)/(level.voteYes + level.voteNo));

Sigh. I did test this a bunch with 4 clients. Just didn't on the 2 yes, 1 no case to make it fail. I'm an idiot.

Hang on while I recompile and reupload to all the places I mirror this because I'm a goddamned idiot. :(

Should be:
Code: [Select]
voteYesPercent = (int)(100* (level.voteYes)/(level.voteYes + level.voteNo)); because that's how percents work and I don't know what the hell I was thinking. :)
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on May 27, 2007, 02:40:37 am
Fixed, everywhere. Sigh. Sorry :(

The way it's supposed to (and now does) work:

g_suddenDeathVotePercent: Default 75.
Affects vote sudden_death ONLY


g_mapVotesPercent at 50 (the default), will have all votes behave completely as they used to. You can up the percentage if you like, which will change map, restart, and nextmap ONLY.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on May 27, 2007, 06:09:32 am
In no particular order, things I plan on adding. This is as much for my own reference as for your notice. If any of you (Benmachine?) does some of the new feature/bugfix/porting/separation type items (the ones that aren't just 'put this existing patch in'), please send it my way so we don't do redundant work :).

Update to latest SVN (pain in the ass, but ultimately for the best)

/me (it's a few lines and it's fun. Why not?)

/itemgun (It's a few lines and if someone doesn't like it, they don't have to use it. Sure, why not?)

MaxPlayerCount (from R1Admin, allows you to have spec slots)

Reload refills at repeater/armo (also from R1Admin)

Some form of team balance function: Probably this will start with just a warning/notification and proceed from there with something more complicated later. It'd be nice to do something as complex as ET's options for this, but if I'm not that ambitious, I could do R1Admin's version without too much effort.

Option to lock teams after restart: Because in matches, locking teams often follows a restart, but if admin is slow, some newb joins beforehand. That can be circumvented with the use of nojoin warmup times though, so I may not do it if implementation turns out to be hard.

Team Customvote: A great idea from Benmachine. Teamvote version of custom votes for things like "Move to window room?" Yes/No

Benmachine's !Info: As soon as he finishes the cvar-reading version, it's in

Benmachine's anti spawnblock: This patch is a great idea too and I'm going to put it in

Flood Protection: Of some kind. But I still have to research this before I decide how to do it or which existing one to put in.

Disallow names that are just a number < 100 (Noone uses these but people that want to be hassles for inexperienced admins)

Ammend vote messages to say what percent is needed to pass (Because I made this vary, it should inform people so they know what's going on)

That "Your attacker had ___ HP" message. Will be optional because that can certainly be considered annoying.

!Slap: Maybe, if it's not too hard to separate and I can think of some reasonable ways to curb its abuse potential

SD Cvar: I might still finish it. It's not THAT far from being done and I'm probably better qualified to fix my version of it than anyone else is, at this point.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Undeference on May 27, 2007, 10:01:08 am
Quote
Update to latest SVN (pain in the ass, but ultimately for the best)
I've done the important work for getting it to work without a cgame update
Quote
/itemgun (It's a few lines and if someone doesn't like it, they don't have to use it. Sure, why not?)
That is dumb. The same thing happens when you use "/itemtoggle blaster", with the exception that "/itemgun" is non-standard and should be expected not to work.
Quote
MaxPlayerCount (from R1Admin, allows you to have spec slots)
g_maxGameClients (https://bugzilla.icculus.org/show_bug.cgi?id=2969)
Quote
Reload refills at repeater/armo (also from R1Admin)
?
Quote
!Slap: Maybe, if it's not too hard to separate and I can think of some reasonable ways to curb its abuse potential
Considering "!slap" is meant for abuse and does nothing other than that, I take this to mean you are willing to add extra stuff, even if you don't like it, so long as you don't have to write the code. I want to see "/steal" and "/take" in your qvm...
Title: Lakitu7's Tremulous 1.1 QVM
Post by: benmachine on May 27, 2007, 11:34:19 am
I think, to be honest, removing all the stuff you don't/might not want from the work I've done would be about as much trouble as adding the stuff you do, so I'm not going to bother giving you the patch I have already.
The new version of !info (which I suggest reading before you use, because I've added a lot of new stuff and there's a fair possibility I've done something nonsensical in there somewhere) is basically done and I'm going to upload it to the mercenariesguild patch tracker soonish.
It should apply easier now, though, because it doesn't need any cvars anymore (I removed g_info).
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on May 27, 2007, 03:18:41 pm
Quote from: "Undeference"

g_maxGameClients (https://bugzilla.icculus.org/show_bug.cgi?id=2969)
Cool, work done for me.

Quote

Considering "!slap" is meant for abuse and does nothing other than that, I take this to mean you are willing to add extra stuff, even if you don't like it, so long as you don't have to write the code. I want to see "/steal" and "/take" in your qvm...

But it does have a use in unsticking players, and that's why I agree that it should be there in some form. Perhaps I will change it to a command to act on one's self. Your predicate is a silly attempt at trolling me, so  :roll:.


Quote from: "benmachine"
I think, to be honest, removing all the stuff you don't/might not want from the work I've done would be about as much trouble as adding the stuff you do, so I'm not going to bother giving you the patch I have already.

Damn, I was hoping you'd been making separate patches. The world needs more separate patches. :(

Quote
The new version of !info (which I suggest reading before you use, because I've added a lot of new stuff and there's a fair possibility I've done something nonsensical in there somewhere) is basically done and I'm going to upload it to the mercenariesguild patch tracker soonish.
It should apply easier now, though, because it doesn't need any cvars anymore (I removed g_info).

Cool, can't wait.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Risujin on May 27, 2007, 07:02:49 pm
Quote from: "Undeference"
Quote
/itemgun (It's a few lines and if someone doesn't like it, they don't have to use it. Sure, why not?)
That is dumb. The same thing happens when you use "/itemtoggle blaster", with the exception that "/itemgun" is non-standard and should be expected not to work.

There is a subtle difference. Using itemtoggle multiple times will obviously toggle your weapons and itemgun doesn't. How many times do I have to explain that to you? This isn't even your anorexic VM we're talking about here, GTFO.

Quote
Quote
!Slap: Maybe, if it's not too hard to separate and I can think of some reasonable ways to curb its abuse potential
Considering "!slap" is meant for abuse and does nothing other than that, I take this to mean you are willing to add extra stuff, even if you don't like it, so long as you don't have to write the code. I want to see "/steal" and "/take" in your qvm...

Face it, if you give an abusive admin power, they will ruin games. You don't need !slap to do this, you can use !putteam to strip a player of all equipment/class for instance or flat out !ban people you don't like. !slap allows responsible admins to give physical warnings, kill last-dretch-hiding-in-a-vent lamers, and generally vent anger.

As for /take and /steal, you fail at life.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: kevlarman on May 27, 2007, 07:38:58 pm
Quote from: "Risujin"
Quote from: "Undeference"
Quote
/itemgun (It's a few lines and if someone doesn't like it, they don't have to use it. Sure, why not?)
That is dumb. The same thing happens when you use "/itemtoggle blaster", with the exception that "/itemgun" is non-standard and should be expected not to work.

There is a subtle difference. Using itemtoggle multiple times will obviously toggle your weapons and itemgun doesn't. How many times do I have to explain that to you? This isn't even your anorexic VM we're talking about here, GTFO.
if you can't switch to your blaster, then what's the use of a command that switches to your weapon from your blaster? (and why add a command that isn't portable between servers when you can do the same thing with "itemact blaster;wait;itemtoggle blaster")

edit: btw glad to see your first action after your vacation is to flame someone.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Warrior on May 27, 2007, 07:41:48 pm
Quote
I want to see "/steal" and "/take" in your qvm

Please don't add it. /share is better; keep it.

Btw, this is proving to the best QVM to the moment. (Even more when other QVMs keep being abandoned)
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Warrior on May 27, 2007, 10:03:33 pm
I don't know why, but when using the last backport from tjw ( http://trem.tjw.org/backport/win32/tremulous.exe ), and running /devmap <map-name> on console, this qvm crashes Tremulous; the one from Avenger (and many other qvms) will display the famous BotFreeClient error. My actual workaround to test maps is to use one old backport that don't trigger such errors, or run tremded and after that start the client.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on May 27, 2007, 10:45:23 pm
Quote from: "Warrior"

Please don't add it. /share is better; keep it.

I'm not. Avenger is just being himself.  :roll:

Quote from: "Warrior"
I don't know why, but when using the last backport from tjw ( http://trem.tjw.org/backport/win32/tremulous.exe ), and running /devmap <map-name> on console, this qvm crashes Tremulous; the one from Avenger (and many other qvms) will display the famous BotFreeClient error. My actual workaround to test maps is to use one old backport that don't trigger such errors, or run tremded and after that start the client.

Hrm, yeah, I don't know. I just tested it and it does happen on my copy too. Like you said yourself, it's because the qvm works with tjw's Tremded and running Tremulous.exe isn't that. I don't know why mine crashes instead of doing BotFreeClient, but since it's just a tradeoff between two different errors, I imagine it's not worth worrying about too much.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Undeference on May 27, 2007, 11:59:04 pm
Quote from: "Lakitu7"
Your predicate is a silly attempt at trolling me
The point is that there is a double standard. In your opinion, "/share" and "/donate" are damaging to gameplay, but you are willing to have them because a lot of players want them. In your opinion, "!slap" is abusive, but you are willing to have it... why? (So people don't get stuck, which doesn't happen much? "!slap" wouldn't even help there most of the time.)

"/steal", "/take", "/share", and "/donate" are all examples of things you consider damaging to gameplay. You already have half of them, so why not the other half?

Quote from: "Risujin"

Face it, if you give an abusive admin power, they will ruin games. You don't need !slap to do this, you can use !putteam to strip a player of all equipment/class for instance or flat out !ban people you don't like. !slap allows responsible admins to give physical warnings, kill last-dretch-hiding-in-a-vent lamers, and generally vent anger.
Of course administrative powers can be abused. The difference between "!putteam" and "!slap" is that the former is meant for balancing teams and the latter is for throwing players around the map, doing a specified amount of damage to them.
Quite simply, if a player isn't willing to follow the rules or pay attention when an admin tells them something, they shouldn't be playing there.
Venting anger is not a valid reason for admin commands.

Quote from: "Risujin"
As for /take and /steal, you fail at life.
In case you didn't realize before, "/steal" is a joke. ("/take" is too, but not much more so than "/share" or "/donate".)
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on May 28, 2007, 12:35:12 am
I have opinions that are different than yours. Get over it.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Warrior on May 28, 2007, 12:51:13 am
!warn would be more useful if its message could be translated. Some foreign players don't understand english (sic!) what turns that command into something unhelpful.
(In this case, would be cool to have some cvar like g_warnMessage (or any other name) that will print the specified message plus the nick of the warned player.)
(One more idea: having some cvar like g_slapRatio <percent number> we could limit the maximum damage caused by a !slap)

About for having both /take and /share I would approve a complete qvm, even if I won't enable /take; it is an extra choice though. (I should have said "don't replace /share" instead of "don't add /take" in my previous post)
(/share activated by default; /take don't)
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on May 28, 2007, 06:47:30 pm
Update on people sticking together:
Kevlarman has confirmed to me that this is a known bug in tjw's anti warp. I'm going to remove that patch entirely tonight/tomorrow. In the meantime, set both g_maxWarp and g_skipCorrection to 0. I've been told that this occurs with both unlagged 0 AND unlagged 1, so remove it in all circumstances.

When I update I'll be sure to throw in a few things from the to-do list to give more incentive to update and say "sorry" for the problem, even though it's not really my bug :)
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Risujin on May 28, 2007, 07:51:37 pm
Quote from: "kevlarman"
if you can't switch to your blaster, then what's the use of a command that switches to your weapon from your blaster? (and why add a command that isn't portable between servers when you can do the same thing with "itemact blaster;wait;itemtoggle blaster")

Because binds are specific to a gametype thus portable between that kind of server. When I play on a Balance server, I don't want to have to resort to that long hack thing that pulls out my blaster before pulling out my gun! Switching guns takes time.

Quote from: "kevlarman"
edit: btw glad to see your first action after your vacation is to flame someone.

My dear kevlarman,
1.) I am still on vacation
2.) I have made like 10 posts while on vacation that you apparently missed
3.) Shouldn't you be deleting Morx off the forum right now?
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Warrior on May 28, 2007, 08:00:58 pm
Quote
Switching guns takes time.

I recommend you create a bind.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: kevlarman on May 28, 2007, 08:33:02 pm
Quote from: "Risujin"

3.) Shouldn't you be deleting Morx off the forum right now?
that's lava's job
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Risujin on May 29, 2007, 07:56:59 am
Quote from: "kevlarman"
Quote from: "Risujin"

3.) Shouldn't you be deleting Morx off the forum right now?
that's lava's job

True, but he doesn't read the Mods forum on principle. :)
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on May 29, 2007, 10:24:57 pm
Released version 4.10:
No more antiWarp and all the problems it caused
Added some more new features / minor changes to make up for the trouble :)

Removed tjw's antiwarp (too many problems, especially when unlagged is off)

added /me

added !info

added g_maxGameClients

added team customvotes

modified the "__ called a vote" console message to say what they called a vote for

modified vote messages to say what percent is needed to pass, if this percent != 50

added g_antiSpawnBlock (but disabled it by default for now)
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on May 29, 2007, 11:55:20 pm
One more edit: Tonight/tomorrow, I'm going to add in a really simple flood protection mechanism courtesy of the old r1admin code, until someone writes something a bit better and more complex. If you really want that feature, wait for it. :)
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on May 30, 2007, 01:44:12 am
Bump to 4.15

Flood protection is in
Enjoy :)
Title: Lakitu7's Tremulous 1.1 QVM
Post by: benmachine on May 30, 2007, 12:36:11 pm
Quote from: "Lakitu7"
added /me

added !info

added g_antiSpawnBlock (but disabled it by default for now)


^_^

Lakitu, why don't you include some info files with the package, like info-version or info-credits - it could really help to show how up-to-date the server was, and if developers wanted to know who to contact (or thank :P ) then they would be able to find out from the server.
I even went so far as to have my compilation script note the date, write it to an info file and zip it up into a vm-readme-files package, but you shouldn't need anything that dramatic (I mostly did it out of curiousity).
Of course, it might make distribution more difficult, and there's no guarantee people will actually use them, but it's worth considering.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Paradox on May 30, 2007, 04:42:12 pm
Wow thanks, damn.

Its nice, and i will test it on sst tonight.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Paradox on May 31, 2007, 04:08:31 am
Seems that IP bans from kick and ban dont work, as well as namelog bans, that is, banning a client who has disconnected from the server.

Also bans sometimes even bounce to other players.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on May 31, 2007, 05:56:57 pm
I haven't messed with any of that. It's got to be bugs in svn. :( I'm not a big fan of passing the buck, but at the same time I don't know how to fix it. Does it sound like this bug:
https://bugzilla.icculus.org/show_bug.cgi?id=3096

?

I've not had a problem with kick/ban myself or had anyone report it. Any sort of information about reproducing it you might be able to give would help us. Hell, at this point, it'd help everyone, since we could write a fix for svn.

In the worst case, I can fix it by reverting the g_admin_ban function to pre-910. Although the old version had some known bugs fixed in the new version (https://bugzilla.icculus.org/show_bug.cgi?id=3052), if the fixes introduced issues that are more severe than the old ones, then that'd be an acceptable solution until it's all truly fixed.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on May 31, 2007, 10:48:22 pm
Okay, they confirmed that it's definitely 3096.

I am going to "fix" this by reverting the ban code to what it was pre-910, because the old bug (banning when two people have the same IP doesn't kick both of them, causing the need for the second to be kicked manually) is a far lesser evil than the new bug (people who are votekicked/banned shortly, then come back, cannot be re-banned.

I'm also going to fix a bug in !l1 that causes all kinds of wacky behavior when people have characters in their names that I didn't test for. :(


Expect this update tonight or tomorrow morning at the latest.


On another note, I plan on adding a g_canDeconDeadStructs or something to allow the pre-SVN behavior (the new one was introduced with g_markdeconstruct) of letting you decon structures that are about to explode, thus avoiding the explosion damage.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Paradox on May 31, 2007, 11:07:03 pm
how about this cvar g_deconDead
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on June 01, 2007, 03:09:40 am
Released. Fixed the bugs in l1 (my mistake) and kick/ban (not my mistake).

Also added g_deconDead
Title: Lakitu7's Tremulous 1.1 QVM
Post by: KamikOzzy on June 01, 2007, 09:48:56 am
Is there no layout, or am I just too stupid to work this kind of layout? I know you can save a layout with !layoutsave...but how can I load it? Also, !layout edit not included?

Notorious for being the "fusion" qvm, but with that problem solved, has everything (provided I can figure out layout) you could ever want in a qvm. Currently two AoD servers as well as DarkLurker's Lair are using your excellent qvm.  8)
Title: Lakitu7's Tremulous 1.1 QVM
Post by: benmachine on June 01, 2007, 01:18:41 pm
This is tjw's layout system. Layouts are made in devmap mode, saved, then loaded at the beginning of every map - use !map atcs layout3 or !restart nodefence to load them. Layouts cannot be loaded in-game due to the bugs that arise when a player is where a buildable needs to be. You lose the restore-after-decon functionality but in return get a system that actually works consistently.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Rabbitt on June 01, 2007, 03:11:16 pm
So lak youve updated this again.
The decondead should be defaulted to yes im taking it ?
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on June 01, 2007, 06:42:38 pm
Quote from: "Rabbitt"
So lak youve updated this again.
The decondead should be defaulted to yes im taking it ?


Your choice, really. It just depends on whether you're more used to playing on servers with newer or older qvms and thus what you're used to. I'd leave it off, myself, because you're probably better off getting used to what's in SVN than trying to fight it.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: benmachine on June 01, 2007, 08:31:28 pm
http://www.bandstand.org.uk/~benm/trem/paradox-svn910-2.zip

What I did for SST, based on this.
In a rush so explain later
Title: AoD is t3h place 2 b!
Post by: player1 on June 01, 2007, 09:46:58 pm
Quote from: "KamikOzzy"
Is there no layout, or am I just too stupid to work this kind of layout? I know you can save a layout with !layoutsave...but how can I load it? Also, !layout edit not included?

Notorious for being the "fusion" qvm, but with that problem solved, has everything (provided I can figure out layout) you could ever want in a qvm. Currently two AoD servers as well as DarkLurker's Lair are using your excellent qvm.  8)


@Ozzy: btw, thx 4 ur server
my ping is 34 there!
and it's not empty, luckily :P
great place to get schooled
anytime I think
I'm any good
get my ass handed to me
regularly
that's what happens when one wanders onto t3h local
clanserver
(on topic):
what is/are t3h other one(s)?
(off again)
lol
l8z

@OP: Lakitu7
I looked up some of the acronyms you guys use regularly
but the Q3a/Trem community has a different usage
than the strict wikipedia definition
I see that svn is software version number
and qvm is quake virtual machine
but coders seem to use them as terms for a certain compilation or build
can you explain just a teensy bit for the few
who can't quite follow along with the home version of the game
my machine doesn't really have the capacity
to be a great server
so I haven't tried any server-side stuff yet at all
played shooters since Unreal1
but haven't messed with files a lot lately
haven't even made keybinds yet :roll:
not until I get the backup computer
:P
what do you mean by qvm & svn?
sorry (I still play in tutorial mode)
Title: Lakitu7's Tremulous 1.1 QVM
Post by: doomagent13 on June 01, 2007, 10:29:53 pm
SVN is the official svn repository.  It contains the features that will most likely make Trem 2.  It can be found here (http://svn.icculus.org/tremulous/trunk/).

QVM is the file that the server runs.  It defines what should happen when certain circumstances occur.

A SVN QVM is a QVM built from the most recent SVN version.  The term SVN is used to diferentiate between QVMs built strictly from SVN versions and custom QVMs built off of older SVN versions with other patches.
Title: thanks!!!
Post by: player1 on June 01, 2007, 10:36:36 pm
Quote from: "doomagent13"
SVN is the official svn repository.  It contains the features that will most likely make Trem 2.  It can be found here (http://svn.icculus.org/tremulous/trunk/).

QVM is the file that the server runs.  It defines what should happen when certain circumstances occur.

A SVN QVM is a QVM built from the most recent SVN version.  The term SVN is used to diferentiate between QVMs built strictly from SVN versions and custom QVMs built off of older SVN versions with other patches.


My brain just got bigger. As we say in the islands, Mahalo, and thank you for your Kokua.

That's weird. I took out your quotation marks and the link still won't work. Hrm... :-?

http://svn.icculus.org/tremulous/trunk/

Still works this way, though. :)

Thanks again for the explanation. I just went:  :o  :eek:  :D "oic!".
Title: Lakitu7's Tremulous 1.1 QVM
Post by: n00b pl0x on June 01, 2007, 10:55:16 pm
dude youre so weird :D
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Paradox on June 01, 2007, 11:13:39 pm
Quote from: "player1"
That's weird. I took out your quotation marks and the link still won't work. Hrm... :-?

Try enabling the bb code check box. Then add http://
Title: oopsie!
Post by: player1 on June 01, 2007, 11:23:23 pm
Quote from: "Paradox"
Quote from: "player1"
That's weird. I took out your quotation marks and the link still won't work. Hrm... :-?


Try enabling the bb code check box. Then add http://


dar...:P :oops:
oh no worries
BBCode (http://tremulous.net/phpBB2/faq.php?mode=bbcode) is always ON
XD
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Paradox on June 01, 2007, 11:24:25 pm
Quote from: "player1"
BBCode (http://tremulous.net/phpBB2/faq.php?mode=bbcode) is always ON

Unless the poster checks the "Disable BB Code in this post box"
Title: Tru-Dat, Word Up, and You Know You Right...
Post by: player1 on June 01, 2007, 11:25:34 pm
Quote from: "Paradox"
Quote from: "player1"
BBCode (http://tremulous.net/phpBB2/faq.php?mode=bbcode) is always ON

Unless the poster checks the "Disable BB Code in this post box"

I meant at my house, but yes thanks...:P
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Anonymous on June 03, 2007, 02:01:07 pm
Quote from: "SexyGhost"
or a nasty hack


yes?
Title: Lakitu7's Tremulous 1.1 QVM
Post by: benmachine on June 03, 2007, 08:19:06 pm
I suppose I'd better release this:
http://www.bandstand.org.uk/~benm/trem/paradox-svn910-3.zip
Version 4.16 with the following additions:

Two patches are included in the zip: an svn diff, and a diff between Lakitu7's QVM and this one. I've also included a couple of info files, but thinking about it now info-credits may be a little out of date.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on June 03, 2007, 08:55:04 pm
I should say that I plan to include all of those but slap and overflow officially in my next version as well. I'm just a bit too busy doing code for my real job to do things that aren't OMG CRITICAL bugfixes at the moment.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Evlesoa on June 03, 2007, 11:18:44 pm
Quote from: "benmachine"
I suppose I'd better release this:
http://www.bandstand.org.uk/~benm/trem/paradox-svn910-3.zip
Version 4.16 with the following additions:
  • !slap
  • Phil Bordelon's flood protection (http://bugzilla.icculus.org/show_bug.cgi?id=2811) (in place of Lakitu7's)
  • Admin commands in alphabetical order
  • Credit overflow
  • Risujin's itemgun command (useless but requested)
  • A much more (but perhaps not completely) functional g_suddenDeath cvar

Two patches are included in the zip: an svn diff, and a diff between Lakitu7's QVM and this one. I've also included a couple of info files, but thinking about it now info-credits may be a little out of date.


Does this include... !layout edit and !layout remove and that shit? Cuz... lak... damn man, your QVM just... *closes his mouth* it... doesnt suit our needs... I prefer Balance Lite, as its more... not more options but it is so flexible.. your QVM just kills the game >.>
Title: Lakitu7's Tremulous 1.1 QVM
Post by: kevlarman on June 03, 2007, 11:23:01 pm
Quote from: "Evlesoa"
Does this include... !layout edit and !layout remove and that shit? Cuz... lak... damn man, your QVM just... *closes his mouth* it... doesnt suit our needs... I prefer Balance Lite, as its more... not more options but it is so flexible.. your QVM just kills the game >.>
even risujin no longer supports the g_admin version of layout, you won't be getting any updates if you insist on using that version.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Risujin on June 03, 2007, 11:45:58 pm
Quote from: "kevlarman"
even risujin no longer supports the g_admin version of layout, you won't be getting any updates if you insist on using that version.

I still like it better though. :)
Title: Lakitu7's Tremulous 1.1 QVM
Post by: kevlarman on June 03, 2007, 11:48:44 pm
Quote from: "Risujin"
Quote from: "kevlarman"
even risujin no longer supports the g_admin version of layout, you won't be getting any updates if you insist on using that version.

I still like it better though. :)
a bindable command that can turn on sv_cheats for a split second without anyone noticing is a very bad thing.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Evlesoa on June 04, 2007, 04:12:58 am
who cares... i love the shit...

Layout = DA SHIT!
Title: Lakitu7's Tremulous 1.1 QVM
Post by: n00b pl0x on June 04, 2007, 05:24:03 am
paradox killed layout for all of us
Title: Lakitu7's Tremulous 1.1 QVM
Post by: doomagent13 on June 04, 2007, 06:46:18 pm
Quote from: "kevlarman"
even risujin no longer supports the g_admin version of layout, you won't be getting any updates if you insist on using that version.
I support it...

And I happen to have made my own changes to it...

It is more fully integrated...

You can do "/callvote map atcs default", meaning a layout named default on atcs...

You can also do "!restart default", meaning to restart with the layout named default...

And some other things...

Such as "!listlayouts <mapname>"...

Oh...

All the default stuff is there as well...

With a little better documentation in "!layout".
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Warrior on June 04, 2007, 08:20:29 pm
Aliens can still block spawns (telenodes) even with the g_antiSpawnBlock.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: n00b pl0x on June 05, 2007, 04:05:00 am
warrior: uhm DUH.

p.s.

doomagent: release the patch pl0x
Title: Lakitu7's Tremulous 1.1 QVM
Post by: doomagent13 on June 07, 2007, 12:30:54 am
Quote from: "n00b pl0x"
warrior: uhm DUH.

p.s.

doomagent: release the patch pl0x

 :( I dont know how to make a patch...

I COULD modify Risujin's patch file, and I guess I will.  I should have it done by next week.  If you want it sooner, go ahead and pm me to death, but I have final exams right now.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: n00b pl0x on June 07, 2007, 04:02:24 am
then dont do it right now

i bombed all my finals cuz i was doin stupid shit

only 2 a's :(
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on June 07, 2007, 04:50:51 am
Quote from: "doomagent13"

 :( I dont know how to make a patch...


If you already have svn installed and are using it to get from svn in the first place, download revision 910, apply Risujin's patch, make your changes, then do svn diff > patchname.patch
Title: Lakitu7's Tremulous 1.1 QVM
Post by: doomagent13 on June 07, 2007, 10:58:36 pm
Well...

I made A patch, might not work, if not I'll do what you suggested.  All the code changes SHOULD be in it if it doesnt work and anyone wants to patch it by hand.

Check the mods forum index for it.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Ceaser342 on June 24, 2007, 08:58:16 pm
Sorry if I'm necroing but I don't feel like reading all of this.  Is Unlagged included in this?
Title: Lakitu7's Tremulous 1.1 QVM
Post by: jit on June 24, 2007, 09:33:29 pm
Quote from: "Ceaser342"
Sorry if I'm necroing but I don't feel like reading all of this.  Is Unlagged included in this?


yea i think. and dam laki you typed all that :o
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Ceaser342 on June 25, 2007, 12:47:56 am
Its saying g_unlagged is not a valid command :(
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on June 25, 2007, 02:09:44 am
Quote from: "Ceaser342"
Its saying g_unlagged is not a valid command :(


Put it into the server.cfg or rcon. Typing server commands into your client console doesn't work.
Title: Wrong link?
Post by: Soviet on June 29, 2007, 12:35:14 am
hey I dled your qvm from mercsguid and all the way at the bottom were it says .qvm? it wont work for somereason. i know other people whove had the same problem =/ could it be the wrong file?
Title: Lakitu7's Tremulous 1.1 QVM
Post by: .f0rqu3 on June 29, 2007, 12:58:46 am
Quote from: "n00b pl0x"
then dont do it right now

i bombed all my finals cuz i was doin stupid shit

only 2 a's :(

sad :(
time management is important
if you learn it, teach me
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Death On Ice on June 29, 2007, 05:17:58 am
Soviet: A piece of advice.

If you have zzzolz.pk3 in your base folder (the same one as admin.dat) delete it. There is a game.qvm in that renamed zip (which we have n00b pl0x to thank for  :eek: ) and it takes precedence over the game.qvm in your base/vm folder unless you delete it.

/scold n00b pl0x
Title: Lakitu7's Tremulous 1.1 QVM
Post by: TinMan on July 13, 2007, 07:53:25 pm
Has anyone got custom commands to work with this QVM? No matter where they're placed in admin.dat it seems that they're stripped out at the end of the game.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Raytray on July 13, 2007, 08:32:52 pm
I dunno about this exact qvm but I got it to work in benmachine's addition to this.

Though SD rebuild seems to be broken. Either that or something's wrong.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on August 06, 2007, 05:20:04 pm
Bump to 4.17 to address PM Spamming (http://tremulous.net/phpBB2/viewtopic.php?t=5768). I already had this for my next release, but I didn't want to make everyone wait a couple more weeks to get the new flood protection, when this new form of idiocy is running rampant. Stay tuned for all sorts of awesome new stuff in my next version :).

Quote from: "TinMan"
Has anyone got custom commands to work with this QVM? No matter where they're placed in admin.dat it seems that they're stripped out at the end of the game.

It works the same as any other QVM. Use !readconfig if you're editing admin.dat while the server is running.

Quote from: "Raytray"
I dunno about this exact qvm but I got it to work in benmachine's addition to this.

Though SD rebuild seems to be broken. Either that or something's wrong.

SD rebuild (mode 2) is broken in benmachine's addition. Don't use his changes if you want to use mode 2.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: benmachine on August 06, 2007, 06:17:09 pm
Quote from: "Lakitu7"
SD rebuild (mode 2) is broken in benmachine's addition. Don't use his changes if you want to use mode 2.

>_>
I'm not very good at testing :(

If I remember correctly, my edition also has credit overflow in it. In light of recent (well, not so recent anymore, but still...) evidence, I advise turning it off if you use my QVM.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: Lakitu7 on August 08, 2007, 03:37:36 am
Bump to 4.18.
If you want to use SD Mode 1, this fixes it. Judging by the fact that it's been broken since inception and nobody's ever told me, demand must not be very high. But, here we go. Thanks Kevlarman.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: kevlarman on August 08, 2007, 04:04:35 am
Quote from: "Lakitu7"
Bump to 4.18.
If you want to use SD Mode 1, this fixes it. Judging by the fact that it's been broken since inception and nobody's ever told me, demand must not be very high. But, here we go. Thanks Kevlarman.
and you're all lamers for using sd modes 0 and 2.
Title: Lakitu7's Tremulous 1.1 QVM
Post by: n00b pl0x on August 08, 2007, 04:33:10 am
Quote from: "Death On Ice"
Soviet: A piece of advice.

If you have zzzolz.pk3 in your base folder (the same one as admin.dat) delete it. There is a game.qvm in that renamed zip (which we have n00b pl0x to thank for  :eek: ) and it takes precedence over the game.qvm in your base/vm folder unless you delete it.

/scold n00b pl0x


kekekekekeke

btw, its a good game.qvm

it still has the abusable !layout, AND has most of the features that people still use <3