Wiki

Clone wiki

maptransfer / Home

MapTransfer: A tool to help lazy gameserver admins

Has this ever happened to YOU? Having to upload yet another map from those crazy clanmates of yours who keep downloading maps like their lives depend on it? Having to open yet another SSH shell, for map in incoming/*; do unzip, mv, cp, bzip2.... It's boring. It's a total waste of time. It sucks.

Diese Seite auf Deutsch: Startseite

MapTransfer tries to automate this process as much as possible. It handles everything a map upload takes:

  • Finds the paths on the disk where Steam is installed and where games are located. (Uses the Registry on Windows, and maptransfer.cfg for other OSs)
  • BZips the Map before upload, and only uploads the BZ2ed file. That way, maps are automatically prepared for fast download, while saving (mega)bytes for the client to upload.
  • Uploads .nav/.txt/.res files, if any.
  • Hardlinks files on the server side, if more than one gameserver path is specified in the config; that way a single map is uploaded to multiple servers at once (and only takes up the space once, too).
  • Saves you and your users a lot of tedious cdery and copypasta.
  • Highlights the maps you or the server don't have, so you easily see what's missing on either side.

Aside from the core functionality, it offers a few niceties as well:

  • Client allows for simultaneous downloads and uploads.
  • Uses HTTPS as protocol - that way, you can download maps (or test connectivity) with your favorite web browser, or write your own scripts that interact with the server.
  • IPv6 ready
  • Extensible: Any game should work, as long as it uses bsp maps - map directories aren't hard coded but read from the config file.
  • Does not require any installation on Windows clients, clients only need to unzip it somewhere and run client.exe.

Other notes:

  • Do use Python >=2.6. It will allow for a cleaner shutdown on the server, and the client will be able to use IPv6.
  • The server has only been tested on Linux, but I think it should work on other OSs as well.
  • A German translation is available.
  • MapTransfer does not check .gcf files, so standard maps will show up on the server and be highlighted because they are not in the client's map folder. You should avoid downloading these files though, as they are packed in the GCF files.

Installation and Configuration

MapTransfer usually does not require to be installed. If you want the client on Windows, you should grab the latest Windows package from the Downloads page, unzip it somewhere, edit the configuration and then simply run client.exe.

If you want to use the source packages, you will need to install Python and PyQT4.

The configuration is explained in detail on the Configuration Wiki page.

Extending

MapTransfer is designed to be extendable by allowing you to write your own client or server easily. You should take a look at the Protocol page if you want to do so.

Get involved

There are several ways you can help in the development of MapTransfer:

  • Write or maintain a Translation.
  • Test new versions before they are released.
  • Submit bug reports if you find an error.
  • If you miss a feature and you can add it, submit a patch.
  • Help maintaining the documentation in the Wiki.
  • If you want to join the team, just contact Svedrin on Freenode. Help is always welcome :)
  • make a donation

Screen shot

Screen shot of the main window

License

MapTransfer is licensed as Free Software under the MIT License.

Updated