Skip to content
This repository has been archived by the owner on Oct 12, 2024. It is now read-only.

Latest commit

 

History

History
116 lines (96 loc) · 3.82 KB

README.md

File metadata and controls

116 lines (96 loc) · 3.82 KB

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. For TF2, special modified hl2sdk-tf2 is used from https://github.com/TF2-DMB/hl2sdk-tf2

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: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/TF2-DMB/hl2sdk-tf2.git --depth 1 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
make
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 MYCFLAGS='-m32' MYLDFLAGS='-m32'
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