Skip to content

gigantic, obese SourceMod extension library of sigsegv's TF2 mods (mostly MvM related)

License

Notifications You must be signed in to change notification settings

rafradek/sigsegv-mvm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sigsegv-mvm

gigantic, obese SourceMod extension library of sigsegv's and rafradek's TF2/Source mods (mostly MvM related) For other Source games, only optimize-only package is provided

Tips

How to run a TF2 server on Windows using WSL: https://github.com/rafradek/sigsegv-mvm/wiki/Installing-on-Windows-with-WSL

Features

Optimize-Only Package

No-MvM Package

Full Package

Installing

Download a package (optimize-only, no-mvm, or full) from releases and extract it into server tf directory. Edit cfg/sigsegv_convars.cfg to enable or disable features

How to build

This extension requires gcc 13 to build

Ubuntu 20.04 docker image with gcc 13 and other dependencies already installed (skip to step 3): rafradek/ubuntu2004dev:latest

On Ubuntu 24.04:

  1. Add x86 architecture if not installed yet
dpkg --add-architecture i386
apt update
  1. Install packages:
autoconf libtool pip nasm libiberty-dev libiberty-dev:i386 libelf-dev:i386 libboost-dev:i386 libbsd-dev:i386 libunwind-dev:i386 lib32z1-dev libc6-dev-i386 linux-libc-dev:i386 g++-multilib
  1. Clone Sourcemod, Metamod, SDK repositories, and AMBuild
cd ..
mkdir -p alliedmodders
cd alliedmodders
git clone --recursive https://github.com/alliedmodders/sourcemod --depth 1 -b 1.11-dev
git clone https://github.com/alliedmodders/hl2sdk --depth 1 -b sdk2013 hl2sdk-sdk2013
git clone https://github.com/alliedmodders/hl2sdk --depth 1 -b tf2 hl2sdk-tf2
git clone https://github.com/alliedmodders/hl2sdk --depth 1 -b css hl2sdk-css
git clone https://github.com/alliedmodders/metamod-source --depth 1 -b 1.11-dev
git clone https://github.com/alliedmodders/ambuild --depth 1
  1. Install AMBuild. Also add ~/.local/bin to PATH variable (Not needed if ambuild is installed as root)
pip install ./ambuild
echo 'export PATH=~/.local/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
  1. Init submodules:
cd ../sigsegv-mvm
git submodule init
git submodule update --depth 1
cd libs/udis86
./autogen.sh
./configure --enable-static=yes
make CFLAGS="-m32" LDFLAGS="-m32"
mv libudis86/.libs/libudis86.a ../libudis86.a
make clean
make CFLAGS="-fPIC"
mv libudis86/.libs/libudis86.a ../libudis86x64.a
cd ../..
  1. Install lua:
cd libs
wget https://www.lua.org/ftp/lua-5.4.4.tar.gz
tar -xf lua-*.tar.gz
rm lua-*.tar.gz
mv lua-* lua
cd lua
make CC=g++ MYCFLAGS='-m32 -DLUA_USE_LONGJMP' MYLDFLAGS='-m32'
mv src/liblua.a ../liblua.a
make clean
make CC=g++ MYCFLAGS="-fPIC -DLUA_USE_LONGJMP"
mv src/liblua.a ../libluax64.a
cd ../..
  1. If hl2sdk, metamod, sourcemod directory is placed in a custom location, Update autoconfig.sh with correct paths

  2. Run autoconfig.sh

  3. Build

Release:

mkdir -p build/release
cd build/release
ambuild

Debug (libbsd-dev:i386 libunwind-dev:i386 is required to load the extension):

mkdir -p build
cd build
ambuild

Build output is created in the current directory

Build and create full, no-mvm, optimize-only packages (they can be found in build/release):

./multibuild.sh

About

gigantic, obese SourceMod extension library of sigsegv's TF2 mods (mostly MvM related)

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages

  • C++ 96.9%
  • C 1.1%
  • Lua 0.9%
  • Python 0.6%
  • Makefile 0.2%
  • Batchfile 0.1%
  • Other 0.2%