๐ŸŽฎ How to Play and Host My Multiplayer Ursina Shooting Game using Python

Ever wanted to play a real-time multiplayer shooting game made in Python? Now you can! I’ve built a game using the Ursina engine, where you and your friends can join the same server, shoot each other in a 3D world, and even host your own game server — all without port forwarding headaches, thanks to playit.gg!

๐Ÿ‘‰ GitHub Repo: Multiplayer-Ursina-Game

๐Ÿ‘‰ Live Demo Video: Watch on YouTube


๐Ÿ•น๏ธ How to Play the Game (Client Setup)

You’ll be running the game client locally to connect to the server.

๐Ÿ”ง Prerequisites

  1. Python 3.9 or above

  2. Install dependencies:

    pip install -r requirements.txt
    

    (Dependencies include: ursina, pygame, pillow, psutil)

๐Ÿ“ฅ Steps to Play

  1. Go to the repo:
    https://github.com/imvickykumar999/Multiplayer-Ursina-Game

  2. Download the repo as ZIP or clone it:

    git clone https://github.com/imvickykumar999/Multiplayer-Ursina-Game.git
    cd Multiplayer-Ursina-Game
    
  3. Navigate to the game/ folder:

    cd game
    python main.py
    
  4. In the game launcher GUI:

    • Enter your name

    • Set the server IP (e.g. vicks.imvickykumar999.online)

    • Set the port (e.g. 11923, the external port from playit.gg)


๐ŸŒ How to Host Your Own Server

Want to host the game for your friends or stream it live? You can host the server on your own PC or VPS.

๐Ÿง  Requirements:

  • Python 3.9+

  • Install server dependencies (same as above)

  • Playit.gg account to bypass NAT/firewall

  • Optional: custom domain (like yourname.online)

๐Ÿ› ๏ธ Setup Steps

1. Open playit.gg

  • Sign in and download the Playit client

  • Run the client and create a tunnel for TCP port 8080

  • Example output:

    TCP tunnel created:
    11923 -> localhost:8080
    

2. Run the server

In the project root folder:

cd server
python main.py

This will launch your TCP game server, listening on port 8080. The tunnel via Playit will forward requests to it.


๐Ÿ“ก Connecting Players to Your Server

You can now share your playit.gg hostname or domain with other players.

Example:

  • Server IP: vicks.imvickykumar999.online (mapped using Namecheap DNS)

  • Port: 11923

Ask players to:

  • Open game/main.py

  • Enter your IP/domain and external port (11923)

  • Click “Connect”

Players will instantly sync into your game and can move, shoot, and respawn!


๐ŸŽฏ Game Features

  • Real-time shooting and hit detection

  • Health and death animations

  • Respawn system

  • Multiple players supported (up to 10+)

  • Works over LAN or WAN using TCP sockets

  • Minimal setup — no need to configure routers!


๐Ÿงช Developer Notes

  • You can modify the server capacity in server/main.py (MAX_PLAYERS)

  • Enemy/player rendering is handled using Ursina’s entity system

  • Sounds and animations are customizable in the game/ folder


๐Ÿ“ฆ Future Plans

  • Add scoreboards and chat system

  • GUI improvement

  • Deploy as .exe installer

  • Cross-platform builds


๐Ÿ“ฌ Contact & Credits

Built by @imvickykumar999
GitHub: https://github.com/imvickykumar999/Multiplayer-Ursina-Game

For custom contributions or bugs, feel free to open an Issue or fork the repo!


0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

Loading...