This mod is completely server-side. Only the host needs to run Portal 2 with the mod installed. People who join the host should run stock Portal 2.
English | Español | Polish | 简体中文 | 繁體中文 | Italiano | Français | Português (Brasil)
- A maximum player cap of 33
- Name Tags
- Custom Player colors
- Chat commands (!help)
- In-game Admin system
- Full cooperative campaign support
- Full singleplayer campaign support (needs minor polishing)
- Full Super 8 map support
- In-house map support for select workshop maps
- Encryption of client commands invoked through the active GameRules class
- Support for Linux, Windows 10 and above
- Togglable game options and config system exposed through VScript and a custom plugin
- Support for SAR (SourceAutoRecord) for speedrunning
Wiki guides on how setup P2:MM:
Download the latest version:
Discord Server for technical help (MAKE SURE YOU READ THE FAQ!!!), bug report or to just chat:
- Python 3.10
- pygame
- requests
- steamid-converter
We also have them in a file for easy install: pip install -r requirements.txt
We use nuitka
to compile the Portal 2: Multiplayer Mod Launcher. Along side it we use GitHub Actions for our release executables. pyinstaller
and AppImage
were originally originally used by have been deprecated in favor of nuitka
.
For Windows we use nuitka
to create our .exe
files. While slower to compile than pyinstaller
which was used in older builds, it provides a smaller executable size. nutka
is able to be installed using pip
.
Below is the full terminal command we use in release executables, it's slightly different than what GitHub Actions uses, and below that is a stripped down version without version information and such:
python -m nuitka --onefile --windows-console-mode=disable --noinclude-data-files="pygame/freesansbold.ttf" --include-data-dir="src/GUI"="GUI" --include-data-dir="src/Languages"="Languages" --windows-icon-from-ico="src/GUI/images/p2mm-icon.ico" --product-name="Portal 2: Multiplayer Mod Launcher" --file-description="The launcher for P2:MM." --product-version="INSERT VERSION HERE" --file-version="INSERT VERSION HERE" --copyright='© 2024 Portal 2: Multiplayer Mod Team' "src/MainWindow.py"
python -m nuitka --onefile --windows-console-mode=disable --noinclude-data-files="pygame/freesansbold.ttf" --include-data-dir="src/GUI"="GUI" --include-data-dir="src/Languages"="Languages" --windows-icon-from-ico="src/GUI/images/p2mm-icon.ico" "src/MainWindow.py"
Just like Windows, nuitka
is used to compile the Linux executables. Originally pyinstaller
was used, then Appimage
, but settled with nuitka
for the small executable size.
Below is the terminal command to compile for Linux using nuitka
:
python -m nuitka --onefile --noinclude-data-files="pygame/freesansbold.ttf" --include-data-dir="src/GUI"="GUI" --include-data-dir="src/Languages"="Languages" --linux-icon="src/GUI/images/p2mm-icon.ico" "src/MainWindow.py"
- If you want to fork the project and do your own releases you need to change the variables at the top of
src/Scripts/Updater.py
to your own information and update the values inAppImageBuilder.yml
as well as information in respective compiling commands like withnuitka
.
Portal 2: Multiplayer Mod version 3.0.0
will be our definitive version, so we won't make any significant updates after it is fully released for a while. Before this happens, we will work on commits to the dev
branch before leading to the full version. We will accept any substantial changes or features for P2:MM during this period. However, we will not be doing much work at all after the release or making any new releases in general. The only reasons we would make a new release would be when someone contributes a new translation, an improvement of a current translation, some other minor bug fix we didn't catch, or a map support file for a workshop map. You can still fork it to build off our work even after this final release! Please make sure you credit this repository!
Developers:
- kyleraykbs
- Bumpy
- Nanoman2525
- vista (NULLderef)
- Wolƒe Strider Shoσter
- cabiste
- Orsell
Contributors:
- wanderer (free bird)
- \n
- Luukex
- MeblIkea
- PieCreeper