Author Topic: How do I compile and distribute client-side mods?  (Read 7509 times)

FooBar

  • Posts: 94
  • Turrets: +9/-1
    • http://avalanche.server.googlepages.com
How do I compile and distribute client-side mods?
« on: February 20, 2007, 07:07:23 am »
So, I'm running Ubuntu Linux.  I used SVN to check out the latest version of Tremulous (899 at the moment) and made some changes to implement a modification I want.  This modification includes changes to some of the ui files and (hypothetically) other client-side stuff.

I can successfully make, and it compiles just fine with no errors.  I can go into the build directory and copy the game.qvm and tremded.exe to my tremulous server, to implement the server-side changes.  I know that if I make my server pure and allow downloads, then players who connect could (hypothetically) download the necessary client-side mods.

What I don't understand is, how do I compile and collect the client-side mods, and where do I put them?  What files do I need to make available, and where should they be in the server's directory tree so that clients can properly download and install them?

In addition, I know that TJW's backported client exists because the later SVN clients are no longer compatible with the default vms-1.1.0.pk3.  Is there a way I can distribute a revised vms-1.1.0.pk3?  It appears to be simply a zip file with cgame.qvm, ui.qvm, and game.qvm....  Could I just zip up my new qvm files, call the zipfile vms-foobar-1a.pk3, and put it in a server directory?  How would this affect the clients who download it?

What about data-1.1.0.pk3?  Is that also incompatible with recent QVMs, and if so what should I do about it?

I recently played on a server running Risujin's Balance Mod, and the installation process was highly transparent and easy.  That's the kind of thing I'm looking for.

In short, how do I make use of the 'mod' functionality built into Tremulous?

That was a long, rambling question.  Any and all answers will be most graciously appreciated!

Odin

  • Spam Killer
  • *
  • Posts: 1767
  • Turrets: +113/-204
    • My Website
How do I compile and distribute client-side mods?
« Reply #1 on: February 20, 2007, 08:08:17 am »
The binaries themselves are incompatible, not just the QVMs.

vcxzet

  • Guest
How do I compile and distribute client-side mods?
« Reply #2 on: February 20, 2007, 08:28:43 am »
first create a test environment

tremtest
= tremulous.x86.exe
= runmod.bat
= base (dir)
=== data-1.1.0.pk3
=== map-atcs-1.1.0.pk3
= foomod (dir)
=== vms-foomod-1a.pk3 (vm/cgame.qvm vm/game.qvm vm/ui.qvm)
=== data-foomod-1a.pk3 (if any)

runmod.bat is just this line
tremulous.x86  +set fs_game foomod

tjw's tremded uses game.qvm compiled from svn
(but you will need some minor changes to bg_public.h)

old tremded uses stock 1.1.0 game.qvm but it lacks wwwDL
(you need backporting patch)

you can build your own tremded
(backporting patch may or may not help in this case I did not test)

you can use tremded provided by risujin or not I do not know if he made a tremded

FooBar

  • Posts: 94
  • Turrets: +9/-1
    • http://avalanche.server.googlepages.com
How do I compile and distribute client-side mods?
« Reply #3 on: February 21, 2007, 08:31:21 am »
Thanks, vcxzet, that was almost exactly what I was looking for!

Thorn

  • Guest
How do I compile and distribute client-side mods?
« Reply #4 on: June 17, 2007, 09:38:05 pm »
Sys_Error: recursive error after: ^3menu file not found: ui/menus.txt, using default


This is the error i get when i client downloads the vms pk3. in vms theres
-vm
--game.qvm
--cgame.qvm
--ui.qvm

Where did i go wrong?
Svn 910 with lakitus .patch and edited a little bit to have Foobars efficiency ratio patch.

benmachine

  • Posts: 915
  • Turrets: +99/-76
    • ben's machinery
How do I compile and distribute client-side mods?
« Reply #5 on: June 17, 2007, 11:33:44 pm »
Aw, I though FooBar was back :( but this thread's like six months old.

I shan't complain because I don't care.
Thorn: your ui.qvm and ui folder are not co-operating. Some form of backporting or un-backporting is needed, try http://www.mercenariesguild.net/patches/?do=details&task_id=2, although you may need to un-patch http://www.mercenariesguild.net/patches/?do=details&task_id=3 before that'll go on cleanly. You can of course bypass the whole issue by zipping up the ui folder in your source directory (next to src/ not in it, containing all the .menus) into a pk3 and including that too. Much more cumbersome than making your ui.qvm 1.1.0 compatible but also more reliable.
benmachine

Risujin

  • Posts: 739
  • Turrets: +33/-13
    • http://risujin.org
How do I compile and distribute client-side mods?
« Reply #6 on: June 17, 2007, 11:34:46 pm »
Quote from: "Thorn"
Where did i go wrong?
Svn 910 with lakitus .patch and edited a little bit to have Foobars efficiency ratio patch.

I would guess that Lakitu's patch will produce a TJW-tremded compatible VM. Try running it with that. If it doesn't work perhaps it's not backported, try a pure SVN client.

Lakitu7

  • Tremulous Developers
  • *
  • Posts: 1002
  • Turrets: +120/-73
How do I compile and distribute client-side mods?
« Reply #7 on: June 18, 2007, 03:41:23 am »
Yeah, my backporting was done with this one:
http://www.mercenariesguild.net/patches/?do=details&task_id=3

.f0rqu3

  • Guest
How do I compile and distribute client-side mods?
« Reply #8 on: June 18, 2007, 04:35:07 am »
since lakitu7's patch is server side only
you need to generate a qvm
then apply backporting (full,not tjw only one)
and compile
you dont need the game.qvm in the client pk3

doomagent13

  • Posts: 506
  • Turrets: +18/-18
How do I compile and distribute client-side mods?
« Reply #9 on: June 18, 2007, 04:45:51 am »
Quote from: ".f0rqu3"
you dont need the game.qvm in the client pk3
But it would be nice as long as it is client-runnable, so that it could be "learned" privately.

benmachine

  • Posts: 915
  • Turrets: +99/-76
    • ben's machinery
How do I compile and distribute client-side mods?
« Reply #10 on: June 18, 2007, 10:57:42 am »
Quote from: "doomagent13"
Quote from: ".f0rqu3"
you dont need the game.qvm in the client pk3
But it would be nice as long as it is client-runnable, so that it could be "learned" privately.

My mod's latest vms pk3 is 250KB (data is 237). The game.qvm is 552.
benmachine

Thorn

  • Guest
How do I compile and distribute client-side mods?
« Reply #11 on: June 18, 2007, 06:24:21 pm »
I applied the "backportlite.patch" after you guys posted... still the same error unfortunately. That was the "Full backport patch" right?