🎮 How to Play and Host My Multiplayer Ursina Shooting Game using Python

🎮 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...