Author Topic: Lakitu7's Game.qvm 5.5  (Read 37598 times)

Lakitu7

  • Tremulous Developers
  • *
  • Posts: 1002
  • Turrets: +120/-73
Lakitu7's Game.qvm 5.5
« on: February 16, 2009, 08:43:56 pm »
Hey folks, It's QVM upgrade day!

What's new?

Subnet bans! (Thanks ==Troy==)
... and a boatload of minor bugfixes. Seriously, there's like 30 of them, lots of which weren't even mine. In particular though, I'll point out that Grangers outside the map and generally glitchy hovel placement is fixed!

This update is strongly recommended to fix a buffer-reveal vulnerability that Rezyn found. People maintaining code derrived from my releases should at least merge r139.

Updating:
Just drop it in, like always.
Note that admins with flag * will be given access to !subnetban and that use of !subnetban will make your admin.dat incompatable with other game.qvms which do not use that patch. If you have a problem with this, do not give anyone that flag.

Links:
The page for all my stuff has moved to a much nicer home at:
http://projects.mercenariesguild.net/projects/lakitu7-qvm
All downloads, documents, and issue tracking will be done there from now on.
« Last Edit: February 16, 2009, 08:51:43 pm by Lakitu7 »

Amanieu

  • Posts: 647
  • Turrets: +135/-83
    • Amanieu
Re: Lakitu7's Game.qvm 5.5
« Reply #1 on: February 16, 2009, 11:49:48 pm »
Good job on a nice release :)
Quote
< kevlarman> zakk is getting his patches from shady frenchmen on irc
< kevlarman> this can't be a good sign :P

remember

  • Posts: 10
  • Turrets: +1/-0
Re: Lakitu7's Game.qvm 5.5
« Reply #2 on: February 17, 2009, 12:03:46 am »
Yeah!! It's QVM upgrade day!

Good job again Lakitu7, but (yes, i know again) the file 001-Lakitu7_Tremulous_game.qvm_5.5.diff is a reverse patch?

It is :
Code: [Select]
--- src/tools/asm/Makefile (.../trunk) (revision 146)
+++ src/tools/asm/Makefile (.../upstream/current) (revision 146)
But perhaps it should be :
Code: [Select]
--- src/tools/asm/Makefile (.../upstream/current) (revision 146)
+++ src/tools/asm/Makefile (.../trunk) (revision 146)
Sorry if i am wrong.

Anyway,Thanks again Lakitu7  ;D

Lakitu7

  • Tremulous Developers
  • *
  • Posts: 1002
  • Turrets: +120/-73
Re: Lakitu7's Game.qvm 5.5
« Reply #3 on: February 17, 2009, 01:06:07 am »
Oh, okay. Honestly I'm surprised anyone uses the patch anymore. If you're going to compile anyway, it's a good bit easier to just get from svn, so I didn't really pay much attention to it.

Anyway, fixed, thanks.

Archangel

  • Guest
Re: Lakitu7's Game.qvm 5.5
« Reply #4 on: February 17, 2009, 01:39:58 am »
I use the patch quite frequently, so don't abandon it please :)

Lakitu7

  • Tremulous Developers
  • *
  • Posts: 1002
  • Turrets: +120/-73
Re: Lakitu7's Game.qvm 5.5
« Reply #5 on: February 17, 2009, 02:59:54 am »
I'm curious: how do you use it? How is it ever easier to checkout trem 966 and apply it instead of just checking out from my svn directly?

Archangel

  • Guest
Re: Lakitu7's Game.qvm 5.5
« Reply #6 on: February 17, 2009, 04:33:22 am »
IDK, probably just pure habit.

Lakitu7

  • Tremulous Developers
  • *
  • Posts: 1002
  • Turrets: +120/-73
Re: Lakitu7's Game.qvm 5.5
« Reply #7 on: February 17, 2009, 06:16:19 am »
I'm probably not going to drop it anyway; it just takes running one command and uploading the results. Still though I kind of wonder what the point is each time. <_<

Snake

  • Posts: 541
  • Turrets: +43/-110
    • IdeaShock
Re: Lakitu7's Game.qvm 5.5
« Reply #8 on: February 17, 2009, 08:16:16 am »
I use your patch too :] Its a kewl way to upgrade, I really like it. Thanks for your help.
.

rotacak

  • Posts: 761
  • Turrets: +39/-64
Re: Lakitu7's Game.qvm 5.5
« Reply #9 on: February 17, 2009, 11:49:48 am »
I using patch too, because in your documentation is:
Code: [Select]
Download SVN revision 966 (svn co -r966 svn://svn.icculus.org/tremulous/trunk directoryname)
Apply my .patch
So I doing it  :)

BTW, why is that subnet ban so complicated? I think better is "!ban name 111.222.*.*".

Lakitu7

  • Tremulous Developers
  • *
  • Posts: 1002
  • Turrets: +120/-73
Re: Lakitu7's Game.qvm 5.5
« Reply #10 on: February 17, 2009, 05:14:50 pm »
Pretty much it's just a lot easier to code that way. !ban already has several things that can be in each argument "slot": reason, time, ip, player number, and having the game guess what each thing is and do the appropriate thing is a pain in the butt. I do want a command to directly ban/subnetban an ip of a player who isn't there but I've never quite gotten around to it.

rotacak

  • Posts: 761
  • Turrets: +39/-64
Re: Lakitu7's Game.qvm 5.5
« Reply #11 on: March 06, 2009, 01:24:55 am »
I found bugs:
A)
1) start server with rotation
2) !rotation:
Code: [Select]
1 tremor
2 niveus <- current slot
3 atcs
3) callvote nextmap atcs
4) finish niveus
5) atcs from nextmap appear
6) finish atcs
7) atcs from rotation appear (like restart, not reload), but - mapconfigs are not loaded.

B)
callvote nextmap not work anymore, because it need a mapname.

C)
If i speccing someone, he die and when he is dead (before he apper in intermission) I stop to follow him, then is my spectacor view half-locked. I can't turn left and right. I need spec someone again, and then again stop following him to get working freespec. I think this is known bug.

D)
Shove is buggy. Is aplied to players even when they are on each other. For example when I am tyrant and I jump on dretch's head, then dretch is pushed down (but that is impossible). Result is - dretch is slowdowned and is not stable. With g_shove 20 is almost impossible to jump with granger at another granger, because it "sliding" down.

Lakitu7

  • Tremulous Developers
  • *
  • Posts: 1002
  • Turrets: +120/-73
Re: Lakitu7's Game.qvm 5.5
« Reply #12 on: March 06, 2009, 01:57:50 am »
I found bugs:
A)
1) start server with rotation
2) !rotation:
Code: [Select]
1 tremor
2 niveus <- current slot
3 atcs
3) callvote nextmap atcs
4) finish niveus
5) atcs from nextmap appear
6) finish atcs
7) atcs from rotation appear (like restart, not reload), but - mapconfigs are not loaded.
Are mapconfigs loaded on a regular !restart? Maybe I should just ditch the "same map is next? restart" patch.

Quote
B)
callvote nextmap not work anymore, because it need a mapname.
It is admittedly a little confusing, but the old /callvote nextmap is now /callvote draw (and has been for a very long time). This is trunk's change, not mine.

Quote
C)
If i speccing someone, he die and when he is dead (before he apper in intermission) I stop to follow him, then is my spectacor view half-locked. I can't turn left and right. I need spec someone again, and then again stop following him to get working freespec. I think this is known bug.
Are you sure you're using 5.5? I fixed that a version or two ago.
Quote
D)
Shove is buggy. Is aplied to players even when they are on each other. For example when I am tyrant and I jump on dretch's head, then dretch is pushed down (but that is impossible). Result is - dretch is slowdowned and is not stable. With g_shove 20 is almost impossible to jump with granger at another granger, because it "sliding" down.
As far as I know g_shove has always been like that but I don't think anyone's really thought about a fix. If you would like to make a report at bugzilla.icculus.org it could help remind folks to think about it.

rotacak

  • Posts: 761
  • Turrets: +39/-64
Re: Lakitu7's Game.qvm 5.5
« Reply #13 on: March 06, 2009, 02:36:05 am »
Are mapconfigs loaded on a regular !restart?
Yes

C)
Are you sure you're using 5.5? I fixed that a version or two ago.
Ahh, I din't noticed it in changelog, sorry.

As far as I know g_shove has always been like that but I don't think anyone's really thought about a fix. If you would like to make a report at bugzilla.icculus.org it could help remind folks to think about it.
Yes, it was always there, I want to mention it only.

ACKMAN

  • Posts: 342
  • Turrets: +9/-20
Re: Lakitu7's Game.qvm 5.5
« Reply #14 on: March 06, 2009, 02:35:11 pm »
Quote
Quote
D)
Shove is buggy. Is aplied to players even when they are on each other. For example when I am tyrant and I jump on dretch's head, then dretch is pushed down (but that is impossible). Result is - dretch is slowdowned and is not stable. With g_shove 20 is almost impossible to jump with granger at another granger, because it "sliding" down.
As far as I know g_shove has always been like that but I don't think anyone's really thought about a fix. If you would like to make a report at bugzilla.icculus.org it could help remind folks to think about it.

I've fixed that shit in TremSpain. Just added a check to know if the player is under you. You should do the same.

___

I told it to you in a PM time ago, but anyways i say it again:

You added a check to prevent barricade-egg-killing and stuff. But if you build egg next to reactor(or any human structure) it will may blow up because it will block egg. I see it unfair.

__

And... You should add it to "callvote map/nextmap":

Code: [Select]
    if( !arg3[ 0 ] )
    {
      trap_SendServerCommand( ent-g_entities,
        "print \"callvote: you must choose a map\n\"" );
      return;
    }

If not, when you type /callvote map without any map it will say that it couldn't find ".pk3.
And if you still use old callvote menu(as rotacak) instead of console, you will get that error if you use nextmap.


==Troy==

  • Posts: 440
  • Turrets: +65/-67
Re: Lakitu7's Game.qvm 5.5
« Reply #15 on: March 06, 2009, 02:36:04 pm »
Just wanted to give a note on the incompatability of the subneted admin.dat and non subnet-patched.

If I recall correctly, the length of the IP string was increased to accomodate the subnet mask. Old qvm do not have such change, and hence will just drop the /XX part of the ban, effectively turning it into a single-ip ban. Which means that the admin.dat can be used with older qvm, BUT all of the subnet bans are going to be lost, since the admin.dat will be re-written on exit (iirc, haven't looked at that part of the code for quite a while)

It would be greatly appreciated If anyone could test this compatability issue more thoroughly.

And congratulations with the new release! :)

rotacak

  • Posts: 761
  • Turrets: +39/-64
Re: Lakitu7's Game.qvm 5.5
« Reply #16 on: March 06, 2009, 06:10:02 pm »
Long time before I tryed to fix that g_shove:

g_active.c, function ClientImpacts()

Change this:
Code: [Select]
      if( ent->client && other->client )
        G_ClientShove( ent, other );

to something like this:
Code: [Select]
    if( ent->client && other->client && ent->client->ps.groundEntityNum != other->client->ps.clientNum)
        G_ClientShove( ent, other );

I hope that works, I din't tested it much.

ACKMAN

  • Posts: 342
  • Turrets: +9/-20
Re: Lakitu7's Game.qvm 5.5
« Reply #17 on: March 06, 2009, 07:31:10 pm »
I did it:

Code: [Select]
  // I don't like pushing players inside the ground
  if( (ent->client->ps.origin[ 2 ] + ent->r.mins[ 2 ] >
  victim->s.origin[ 2 ] + victim->r.maxs[ 2 ]) &&
  victim->client->ps.groundEntityNum != ENTITYNUM_NONE )
    return;

sux and works

Lakitu7

  • Tremulous Developers
  • *
  • Posts: 1002
  • Turrets: +120/-73
Re: Lakitu7's Game.qvm 5.5
« Reply #18 on: March 10, 2009, 05:40:51 am »
I took out the same next map -> restart patch. I was never really too sure how much I liked it anyway. The behavior is kind of confusing.

I put a check along those lines on nextmap. I'm not sure about making the same change to map or trunk yet. Probably will. If I decide to do them both in trunk then I'll do it for map in the qvm too. Thanks Ackman.

Troy: I didn't even think of that. Hopefully it works. I admit I did say that I wouldn't release the subnet codes until I made converter functions and I didn't deliver, but if somebody complaints too much I imagine I can whip up some perl. So far nobody has, but it's all moot if it's not even necessary. Thanks for the patch in the first place, as well.

Re: barricade/egg stuff: yeah, I did forget about that, sorry. Thanks for reminding me. That affects trunk too, since I committed the same code there.

Re: g_shove: I suppose I never actually thought about it. When people started using g_shove I was told that it was part of g_shove and I pretty much just accepted it. rotacak's patch seems to say "don't shove people I am standing on." Ackman's patch seems to say "don't shove people who are positionally underneath me unless they are (and thus we both must be) in the air.  Either might be interesting. Both need testing.

I'm in finals week though. I'll try to address both of those last two when when it's over. Both would be appropriate for submission to bugzilla.icculus.org.

Multichar flags is also nearly finished. Actually it probably is and just needs some testing, so that will go in post-finals-week too.

rotacak

  • Posts: 761
  • Turrets: +39/-64
Re: Lakitu7's Game.qvm 5.5
« Reply #19 on: March 20, 2009, 08:59:11 am »
One more thing. Can you fix wallwalk ass attack? When you walking on ceiling slope and you will turn off wallwalk, then you are rotated with your ass ahead :-) It's safe for humans but aliens aren't happy with this behavior.
Demo: http://www.mediafire.com/?nztykn1lxnh

rotacak

  • Posts: 761
  • Turrets: +39/-64
Re: Lakitu7's Game.qvm 5.5
« Reply #20 on: May 30, 2009, 12:35:46 pm »
Is possible to backport this for workikg cgame.qvm?

F50

  • Posts: 740
  • Turrets: +16/-26
Re: Lakitu7's Game.qvm 5.5
« Reply #21 on: June 28, 2009, 03:33:20 am »
I'm curious: how do you use it? How is it ever easier to checkout trem 966 and apply it instead of just checking out from my svn directly?

Only because that's what your readme says to do. I tried to find your repository inside an svn browser, (from a web browser you have to get each file individually) but could not.

"Any sufficiently advanced stupidity is indistinguishable from malice." -- Grey's Law


googles

  • Posts: 219
  • Turrets: +30/-19
Re: Lakitu7's Game.qvm 5.5
« Reply #22 on: June 28, 2009, 07:45:54 am »

F50

  • Posts: 740
  • Turrets: +16/-26
Re: Lakitu7's Game.qvm 5.5
« Reply #23 on: June 29, 2009, 07:53:08 am »
Ah, thanks a lot.
"Any sufficiently advanced stupidity is indistinguishable from malice." -- Grey's Law


FisherP

  • Posts: 295
  • Turrets: +31/-32
Re: Lakitu7's Game.qvm 5.5
« Reply #24 on: October 23, 2009, 07:40:56 am »
Is there going to be a new release of this qvm soon?

I've seen some good changes in the repository

Lakitu7

  • Tremulous Developers
  • *
  • Posts: 1002
  • Turrets: +120/-73
Re: Lakitu7's Game.qvm 5.5
« Reply #25 on: October 23, 2009, 08:25:28 am »
Probably once 1.2 beta is out the door I'll do a "final" release of this, yeah. "Final" meaning I'll still fix big bugs or whatever but I'll be done adding features. As if now it's really been rather stable and usable for a long time. I just need to get around to writing the documentation.

In the meanwhile though, still putting my all into bringing you 1.2. :)

FisherP

  • Posts: 295
  • Turrets: +31/-32
Re: Lakitu7's Game.qvm 5.5
« Reply #26 on: October 23, 2009, 08:51:05 pm »
I understand though that there is still crash bugs in 5.5 of the qvm (critux was suppose to let you know about some of these). Sorry for being so cynical though but judging on history I don't put much faith in 1.2 being out this side of next Christmas. I hope I'm wrong but I've heard many times that "there's only a couple of small changes left", or "it's nearly there, just some balance fixes". For over the last year I've heard that.

Lakitu7

  • Tremulous Developers
  • *
  • Posts: 1002
  • Turrets: +120/-73
Re: Lakitu7's Game.qvm 5.5
« Reply #27 on: October 24, 2009, 07:10:33 pm »
If there are crash bugs, then they have not been reported to me, and they have not been fixed. Releasing now would not help you. Get your friend to report them.
http://projects.mercenariesguild.net/projects/lakitu7-qvm/issues?set_filter=1&tracker_id=1

If you're not listening to 1.2 stuff now then you're either not paying attention or willfully ignoring the facts presented to you.

Castyo

  • Posts: 9
  • Turrets: +0/-0
Re: Lakitu7's Game.qvm 5.5
« Reply #28 on: March 10, 2011, 09:18:30 am »
Hi, can this qvm create problems with the unlimited bp setting?

DraZiLoX

  • Posts: 844
  • Turrets: +24/-24
Re: Lakitu7's Game.qvm 5.5
« Reply #29 on: March 10, 2011, 02:25:43 pm »
Nice bump.

Make default.cfg to fs_homepath/base/mapconfigs
Code: [Select]
g_alienBuildPoints "99999"
g_humanBuildPoints "99999"

+Any QVM can do it.