Skip to content
/ gelendra Public

A half life dedicated server (goldsrc) management tool written in ruby

Notifications You must be signed in to change notification settings

txdv/gelendra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gelendra – ruby goldsrc map management tool

gelendra is a map management tool for the goldsrc (Half-Life, CounterStrike, etc.) map files. It supports archive management (installing, uninstalling, file tracking of the archives).

gelendra has the following features.

* package creation maps using unordered files in a directory. Creates zip packages for all bsp files with all needed dependencies
* package management - installing/removing/listing available and installed once
* package checking, if a map package has all needed files

Usage

Packets

If you have a lot of map related files in directory which are sorted or even not sorted and you want to create archives for every map just write

gelendra create packages src_directory/ dst_directory/

It will look for all the files in the src_directory, check if there are any clashes (two or more files which have the same name but are different), inform you and terminate if there are, go on creating packages.

Information

File endings

Since this tool works a lot with files and different file formats and I had to gather a lot of information about them, I want to commit this information in here.

If one wants to collect all files for a map you have basically to read the bsp file. The entity section in the bsp file is the most interesting one, since everything you need is basically represented in text there. Though you need the wad files to check if all textures are really present, a lot of bsp files reference wad files which are actually not even needed, since the other wads referenced basically provide all the textures you need.

Files which are of interested:

  • .bmp - overview of a map

  • .tga - overview of a map (very rare)

  • .res - a list of files belonging to a map

  • .txt - overview setup, sets the bmp straight, resides in the overviews directory too

  • .bsp - the map file, which contains most of the information, resides in maps/

  • .mdl - model file

  • .spr - sprites, used by maps if they have custom textures

  • .tga - sky definition files

  • .wad - a collection of textures needed by bsp files, resides in the root game dir

  • .wav - sounds played by maps

  • .txt - a description of the map usually provided by the author, resides in maps/

Note that the file extension txt is used for map overviews and for map description created by the authors. They file names have to be equale to the basename of the bsp file, for de_dust.bsp that would be de_dust.txt. The overview setup txt file is easy to recognize by looking inside the text, it must have the keywords “global”, “ZOOM”, “ORIGIN”, “ROTATED”, “layer”, “IMAGE”, “HEIGHT”.

Distinguishing the tga’s is easy too, the skymodels has always bk, ft, dn, up , rt, lf before the file ending .tga, for example: dustup.tga, dustbk.tga. Furthermore, the overview bmp’s, tga’s and txt’s are named after the filemap, for de_dust.bsp it would be de_dust.tga.

Other files which occure a lot of times with maps and have no meaning when packaging.

  • .nav - navigation file for bots generated when playing with bots

  • .dem - demo files

  • .ztmp - created by the server when transfering maps

  • .ent - extracted entity files of the map

  • .bak - backup files of normal files

  • .rar - archive system

  • .zip - archive system

  • .bz2 - archive system, used by the source engine when sending files

  • .wpt - waypoints

  • .pwf - pot bod way points, resides in PODBot/WPTDefault

  • .pxp - pot bod way points, resides in PODBot/WPTDefault

  • .rbl - bot waypoints, instructions

  • .ling - coordinates

  • .p0 - coordinates

  • .p1 - coordinates

  • .p2 - coordinates

  • .p3 - coordinates

  • .prt - coordinates

  • .pts - coordinates

  • .rw1 - no information (1)

  • .rw2 - no information (1)

  • .swat - no information

  • .agro - no information

  • .csb - no information

  • .awp - no information

  • .nwp - no information

I have to admit that waypoints might be interesting, but they are not needed by most of the bots, they will be generated automatically.

The coordinates have all the time 3 sets of floats in text format, don’t know what they stand for, probably some random output for tools used by the developers or maybe bot way points?

The once with “no information” seem mostly to be binary files, I assume these are coordinates for bots or something similar.

File positioning

In the following examples cstrike shall be the mod game directory. wad -> cstrike/ means that the files with the ending “.wad” have to go to root mod directory cstrike/

The following 2 are absolutely needed by the server in order to serve a game. These files always go into these directories, no matter what.

  • wad -> cstrike/

  • bsp -> cstrike/maps/

Res files are needed by the server to determine what files to precache and to send to the user. If a wad is missing on the client side, the client will crash, by adding it into the res file it will ensure that the player will precache the file before executing the map.

  • res -> cstrike/maps/

The following 3 are needed if one wants an overview of its map

  • txt -> cstrike/overviews/

  • bmp -> cstrike/overviews/

  • tga -> cstrike/overviews/

The following 4 are optional files for the map in order, only relevant for the player, the client. If he hasn’t got the skybox tga’s, a default one be used, wav and sprites, models will be ommited if not existent. All the dependencies are in the entity section in the bsp file.

  • tga -> cstrike/gfx/env/

  • wav -> cstrike/sounds/

  • spr -> cstrike/sprites/

  • mdl -> cstrike/models/

These files have absolutely no relevance, nor to the client nor to the server. Only informational value.

  • txt -> cstrike/maps/

License

gelendra is available under the gpl3 license.

Author

Andrius Bentkus <ToXedVirus@gmail.com>

About

A half life dedicated server (goldsrc) management tool written in ruby

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages