Giter VIP home page Giter VIP logo

portal-2-multiplayer-mod's Introduction

P2MMBannerREADME Discord Shield Badge
Release Shield Badge
Download Count Shield Badge
Commit Shield Badge
GitHub last commit (branch)

PORTAL 2:

MULTIPLAYER MOD

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.

Languages

English | Español | Polish | 简体中文 | 繁體中文 | Italiano | Français | Português (Brasil)

Mod features

  - 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

Installation & Use

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:

Building the Launcher

Dependencies

  • Python 3.10
  • pygame
  • requests
  • steamid-converter

We also have them in a file for easy install: pip install -r requirements.txt

Compilation

We use nuitka, pyinstaller, and AppImage to make the executables.

Windows:

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 and doesn't tick off Windows Defender. pyinstaller should only be used as a backup if nuitka doesn't work for you for some reason. Both are able to be installed using pip install.

Below is the full terminal command we use to compile the launcher, 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"

Below is the terminal command to compile using pyinstaller:

pyinstaller "src/MainWindow.py" -F -i "src/GUI/images/p2mm-icon.ico" --noconsole --add-data "src/GUI;GUI" --add-data "src/Languages;Languages"

Linux:

For Linux we switched to using AppImage and we made a tool to help with that, simply have docker installed and run ./tools/build-docker.sh while in the root directory.

WARNING! For some reason on some Linux distributions, FUSE is not installed by default which is needed for both compiling and running AppImages. Information for installing FUSE on your distribution can be found here: AppImageKit's Wiki

If you don't want to use AppImage/docker, you can still use pyinstaller:

pyinstaller "src/MainWindow.py" -F --add-data "src/GUI:GUI" --add-data "src/Languages:Languages"

Notes:

  • 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 in AppImageBuilder.yml as well as information in respective compiling commands like with nuitka.

Contributions

Portal 2: Multiplayer Mod version 2.3.0 will be our definitive version, so we won't make any significant updates after it is fully released. Before this happens, we will work on minor updates 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 release or make 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. Even after this final release, you can still fork it to build off our work! Please make sure you give credit to this repository!

Credits

Developers:

  • kyleraykbs
  • Bumpy
  • Nanoman2525
  • vista (NULLderef)
  • Wolƒe Strider Shoσter
  • cabiste
  • Orsell

Contributors:

  • wanderer (free bird)
  • \n
  • Luukex
  • MeblIkea
  • PieCreeper

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.