Getting a Mod Running.


(digibob) #1

Just a quick note for people trying to get their mod running, since i know many people have had some of these problems, etc…

First off, during production, it’s often easier to extract all of the pk3 files ( you can open them using winzip, or any other zip loading programme ) out to the base folder, so you can easily reference them, etc. Make sure you do this on a different tree to your actual playing/testing tree, or you likely will have problems.

Next, remove all the pk3 files, and make sure never to modify any of the existing content in the base game directory, instead, make a seperate folder at the same level as the base game directory, called “mymod” for example.

To have this directory referenced in-game, use the “+set fs_game mymod” option on the commandline.

When you package up the media to do a test, or release build, place all of the files, apart from the dll/so files into a single pk3, with the paths relative to your mod tree. Place the client dll/so files in a single pk3 named “mp_bin.pk3”. And finally, pacakge the dll/so files, and both of the pk3 files into a zip/rar/ace or whatever your favourite archive is, relative to the main directory this time.

I.e. you should have:

mymod/mymod.pk3
mymod/mp_bin.pk3
mymod/.dll
mymod/
.so

Inside the package.

Ship this to your testers/players, and away you go :slight_smile:

Any other queries, feel free to ask.


(dcoshea) #2

How come the cgame and ui DLL/so files are both in the “mymod” directory and also in mp_bin.pk3 in the same directory? Which ones are used by the game?

Sorry if this is a dumb question, but I come from MOHAA where there are no DLLs in .pk3 files :slight_smile:

Regards,
David

[Edit: and thanks for providing this info!]


(SCDS_reyalP) #3

they get pure checked if they are in the .pk3, and under some circumstances, they get copied out of it. Perhaps digibob can explain exactly when :stuck_out_tongue:

ISTR bani commenting on some problem running mods if sv_pure is 0 too.


(digibob) #4

Normally, only files inside pk3 files will be checked for “purity”, so in order to ensure the client isn’t running a different set of dlls than the server wants them too, they must be inside a pk3 for the pure checking. If the mp_bin pk3 fails pure check, then the client may not join, if however the pk3 passes the pure check, but the dlls outside the pk3 differ from those in mp_bin, they will be overwritten, assuming that succeeds, then the player can play.


(WalterBennet) #5

I did exactly what you said, but the game always copies the stock .so’s to my mod’s folder and I can’t run my mod! Do you know what I can do to make it work?


(The Fang) #6

i got a little problem…
i dunno how to set up a modded server, i tried already to start a server with other mods, doesnt work
im starting the game with +set fs_game shrubet for example, but it doesnt work, can someone help me?


(digibob) #7

Sorry guys for the lack of reply, i hadn’t noticed there had been any posts, normally i get mailed when there are, i’ll try to get back to you tonight.


(pgh) #8

Tsk tsk Bobbles.

Dont know that much about setting up servers, adminnings easy enough, so I dont know how much use or correct thisll be but… first of, details. What OS is Server? What kind of Server you trying to setup?

Im presuming its Windows and non-dedicated? Simply:

If you dont know how to do this via ‘commandline’ then just:[ul][li]Create a New Shortcut to ET.exe
[/li][li]Right Click it, Select Properties
[/li][li]Go To ‘Target’ Box
[/li][li]After the Exe Path / Exec Line add +set fs_game mymod (eg, etpro, powerball etc)
[/li][li]Run it, Host game as normal.[/ul]
[/li]
Edit: Meh… BBCode :expressionless:


(WalterBennet) #9

I am using GNU/Linux, and what happens when I do “et +set fs_game mymod” is that et deletes all the .pk3 files in my mod’s folder and replaces the .so files with the stock libraries.


(pgh) #10

shrug… dont do Linux.


(digibob) #11

I am using GNU/Linux, and what happens when I do “et +set fs_game mymod” is that et deletes all the .pk3 files in my mod’s folder and replaces the .so files with the stock libraries.

Did you place the .so files into the mp_bin.pk3?

And ET should NEVER delete any pk3 files, so i don’t understand what’s happening there.


(WalterBennet) #12

Yes, I have:
mymod/mymod.pk3
mymod/mp_bin.pk3
mymod/*.so

But after running “et +set fs_game mymod”, I have:
mymod/*.so (stock .so files, not my mine)
mymod/hunkusage.dat
mymod/profiles

EDIT: I have reinstalled ET and deleted my ~/.etwolf folder and now it doesn’t delete the .pk3 files, but it still overwrites my .so file. So I still cant run my mod.


(Schaffer) #13

What version of ET do you have installed. I just rebuilt my PC and a client mod I have played with kept being overwritten with the standard dll. This turned out to be due to the fact that I ahdn’t patched to 1.02 which is what the source code is for.


(Seph64) #14

EDIT: I have reinstalled ET and deleted my ~/.etwolf folder and now it doesn’t delete the .pk3 files, but it still overwrites my .so file. So I still cant run my mod.

There is two solutions to this problem, one is moving the mod to the actual location of the game (like /usr/local/games/enemy-territory), or modifying the command line.

Like I said, one is to move the location to the actual location of the game, the other fix is to add:

+set fs_homepath /home/username/.etwolf +set fs_basepath /usr/local/games/enemy-territory

to your linux command line.

NOTE: username is your user name in Linux. :slight_smile:


(WalterBennet) #15

It works when I put it in /opt/enemy-territory (which is where Gentoo installs ET) :slight_smile: Thanks.


(Demolama) #16

my question is how do you package them all into a single pk3 like etpro has it… etpro has all their sound, weapons, gfx,etc folders along with his dll/so files in one pk3

right now I have my sounds folder in a seperate pk3 and my dll/so in another… they work fine that way… but I would like one simple pk3… its easier to manage that way


(grungy6669) #17

Okay so I tried everything that the sticky said to do and this is the problem.

I made a zip file for everyone to download which included the bin_*.pk3, .dll’s,.so’s and my pk3.
Then i gave instructions to modify the shortcut target to type in the code you gave.

But for one

anyone that is running anything other than windows xp (ei 2000,NT,98) can’t edit that target box because i guess it was illegal back than to windows.

the other problem is on my friends computer and other clan members that have downloaded the file has installed it and it does not work.

I have gone on my friends computer and put the pk3 in his main folder, put another pk3 in the destination folder and I even extracted the entire pk3 into the destination folder and it does not work.
(Oh just for fun I even extracted the pk3 in the etmain folder and no luck there)

But I have talked to my guy in charge of the server and he said it is on the site and he got it working, so did i, and 2 other people but every one else is having problems.

you can view what I have to see if there is anything you see wrong

http://beardclan.topcities.com/mods.html

it is the file at the very top and I even included a very rough instructional file.

But the thing is the server put The file skullmines.pk3 on the server and everyone that downloaded it was able to view it. but not mine I tried that way too.

By the way mine is working with the server. I did not have to put the code in my target and the mod works.

Sorry about the long post I just wanted to make sure I put everything I tried.


(SCDS_reyalP) #18

That is simply not true. You most certainly can change the target of shortcuts in win2k/nt4/9x


(Chruker) #19

Does any of the .dll og .so files ever get reloaded during the game?

Or is there a console command to have them reloaded.

I’m just looking for a way to not have to restart the game because I made a ‘small’ change in one of these files.


(Rain) #20

cgame is reloaded on vid_restart and map changes.
qagame is reloaded on map_restart and map changes.
ui is reloaded in ui_restart, and maybe on map changes (I don’t recall.) Oh, and /quit. :banana: