GithubHelp home page GithubHelp logo

podrum / podrumlegacy Goto Github PK

View Code? Open in Web Editor NEW
170.0 170.0 35.0 4.62 MB

Moved to https://github.com/Podrum/Podrum

License: GNU General Public License v2.0

Python 100.00%
bedrock minecraft minecraft-java minecraft-server podrum python server

podrumlegacy's Introduction

Podrum

Introduction

Podrum is a server software for Minecraft Bedrock Edition written in C and aims to be fast, stable and secure.

This project is still in early development.

Building

Linux/MacOS:

cmake CMakeLists.txt
make

Windows:

cmake CMakeLists.txt
msbuild PodrumR3.sln

Used Libraries

CBinaryStream By MFDGaming

CZlibHelper By MFDGaming

CNBT By MFDGaming

miniz By richgel999

podrumlegacy's People

Contributors

alperdrsnn avatar ammyrq avatar anticcx avatar dasblackfur avatar dertev avatar dragkills avatar electrogamesdev avatar fuongaz avatar hunterazar avatar icecruelstuff avatar kaffinpx avatar mfdgaming avatar n-nougator avatar nhanaz avatar plun1331 avatar pooooooon avatar scarletredman avatar sigmanificient avatar theverystarlk avatar todo56 avatar zazidev avatar zekiah-a avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

podrumlegacy's Issues

Cannot connect to server

When i connect to server, my minecraft client crashing and server gives me error:
Exception in thread Thread-62:
Traceback (most recent call last):
File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/usr/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/root/podrum/podrum/world/world.py", line 51, in load_chunk_worker
self.load_chunk(pos_and_player[0].x, pos_and_player[0].z)
File "/root/podrum/podrum/world/world.py", line 32, in load_chunk
chunk: object = self.provider.get_chunk(x, z)
File "/root/podrum/podrum/world/provider/anvil/anvil.py", line 106, in get_chunk
result.nbt_deserialize(chunk_data)
File "/root/podrum/podrum/world/provider/anvil/chunk.py", line 145, in nbt_deserialize
self.sections[section_tag.get_tag("Y").value] = section(
AttributeError: 'NoneType' object has no attribute 'value'

Minecraft version: 1.17.0.1
Podrum version: 0.0.6 Platinum

Sorry for my english!

Podrum Server takes a long time to connect to the world

Summary

It takes a long time to connect to the world

Reproduction Steps

  • Clone this repo
  • Change dir to Podrum
  • Install Requirements
  • Run server
  • Join on other device
    Note: Ping server under 40ms

Expected Results

Connect to the world in less than 30 seconds

Actual Results

It takes a long time to connect to the world, at some point it will "Unable to connect to world"

System Information

This server is running Podrum version 0.0.6 Platinum on API 0.0.1. This version is licensed under the GPL v2.0 license.
Ubuntu 21.0 (GNU/Linux 5.13.0-21-generic x86_64)
Python 3.9.7

Checklist

  • I have searched the open issues for duplicates.
  • I have shown the entire traceback, if possible.

Additional Context

No response

Can't execute on macOS Monterey: ModuleNotFoundError

Summary

ModuleNotFoundError

Reproduction Steps

I tried to execute the python script with Python 3.10.1 in the terminal on my Mac using macOS Monterey 12.2 beta 1. But then there came a very ****** error message named "ModuleNotFoundError" and this told me, that there's no module named 'nbt_utils'. https://pypi.org/project/nbt-utils/#files

Expected Results

I expected that the server software created a MCPE server for me and my friends where we can play on.

Actual Results

cd '/Users/mika/Downloads/Podrum-main/' && '/usr/local/bin/python3' '/Users/mika/Downloads/Podrum-main/run.py' && echo Exit status: $? && exit 1
(base) mika@Mac-Mika ~ % cd '/Users/mika/Downloads/Podrum-main/' && '/usr/local/bin/python3' '/Users/mika/Downloads/Podrum-main/run.py' && echo Exit status: $? && exit 1
Traceback (most recent call last):
File "/Users/mika/Downloads/Podrum-main/run.py", line 15, in
from podrum.server import server
File "/Users/mika/Downloads/Podrum-main/podrum/server.py", line 25, in
from podrum.managers import managers
File "/Users/mika/Downloads/Podrum-main/podrum/managers.py", line 16, in
from podrum.block.block_manager import block_manager
File "/Users/mika/Downloads/Podrum-main/podrum/block/block_manager.py", line 15, in
from podrum.item.item import item
File "/Users/mika/Downloads/Podrum-main/podrum/item/item.py", line 16, in
from podrum.item.item_extra import item_extra
File "/Users/mika/Downloads/Podrum-main/podrum/item/item_extra.py", line 16, in
from nbt_utils.tag.compound_tag import compound_tag
ModuleNotFoundError: No module named 'nbt_utils'

System Information

macOS Monterey 12.2, iPadOS 15.3 iOS 15.3

Checklist

  • I have searched the open issues for duplicates.
  • I have shown the entire traceback, if possible.

Additional Context

No response

Error

Traceback (most recent call last):
  File "c:/Users/-/Documents/GitHub/Podrum/src/__main__.py", line 32, in <module>
    Server(True)
  File "c:\Users\-\Documents\GitHub\Podrum\src\podrum\Server.py", line 70, in __init__
    Plugin.loadAll()
  File "c:\Users\-\Documents\GitHub\Podrum\src\podrum\plugin\Plugin.py", line 44, in loadAll
    if not self.pluginsDir.endswith("/") or not Plugin.pluginsDir.endswith("\\"):
NameError: name 'self' is not defined

Can't connect: Terminating connectinon, due to malformed packet (0xb)

Summary

Can't connect: Terminating connectinon, due to malformed packet (0xb)

Reproduction Steps

Just try to connect, for me it did not worked

Expected Results

I should connect to the server

Actual Results

PS C:\Users\tamino\Downloads\TheProject Bedrock\Podrum> python run.py
//starting the server in Windows 11 with Terminal

[INFO: 15:57:39] Podrum is starting up...
[SUCCESS: 15:57:39] Loaded world -> world
[SUCCESS: 15:57:39] Done in 0.016. Type help to view all available commands.
[INFO: 15:57:44] 192.168.86.129:56496 connected.
[INFO: 15:57:45] ScanFee05 logged in with uuid 2ef27719-fda5-3471-abbe-e2893790db82.
[SUCCESS: 15:57:45] ScanFee05 has all packs.
[ERROR: 15:57:45] Terminating connectinon, due to malformed packet (0xb)
[INFO: 15:57:45] 192.168.86.129:56496 disconnected.

System Information

This server is running Podrum version 0.0.6 Platinum on API 0.0.1. This version is licensed under the GPL v2.0 license.

Python Version
Python 3.9.0 (tags/v3.9.0:9cf6752, Oct 5 2020, 15:34:40) [MSC v.1927 64 bit (AMD64)] on win32

Windows 11 dev preview in 64 Bit
Amd Ryzen 5 3600
Nvidia Zotac RTX 2070 Super Mini

Checklist

  • #156
  • I have shown the entire traceback, if possible.

Additional Context

grafik

Weird issue when joining the game

Summary

Game refuses to allow my account to join the server

Reproduction Steps

install the server, setup a virtualenv with python 3.8, pip install -r requirements.txt and launch main.py

Expected Results

the game would let me in?

Actual Results

Exception in thread Thread-2:
Traceback (most recent call last):
  File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
Exception in thread Thread-8:
Traceback (most recent call last):
  File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.9/threading.py", line 892, in run
Exception in thread Thread-12:
Traceback (most recent call last):
  File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
    self.run()
Exception in thread Thread-6:
  File "/usr/lib/python3.9/threading.py", line 892, in run
Exception in thread Thread-11:
Traceback (most recent call last):
  File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
Exception in thread Thread-3:
Traceback (most recent call last):
    self._target(*self._args, **self._kwargs)
  File "/home/primus/dev/podium/Podrum/podrum/world/world.py", line 90, in load_worker
    self.run()
  File "/usr/lib/python3.9/threading.py", line 892, in run
Traceback (most recent call last):
  File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.9/threading.py", line 892, in run
  File "/usr/lib/python3.9/threading.py", line 892, in run
    self.load_chunk(item[0], item[1])
  File "/home/primus/dev/podium/Podrum/podrum/world/world.py", line 51, in load_chunk
    self._target(*self._args, **self._kwargs)
  File "/home/primus/dev/podium/Podrum/podrum/world/world.py", line 90, in load_worker
    self._target(*self._args, **self._kwargs)
  File "/home/primus/dev/podium/Podrum/podrum/world/world.py", line 90, in load_worker
    chunk: object = self.provider.get_chunk(x, z)
  File "/home/primus/dev/podium/Podrum/podrum/world/provider/anvil/anvil.py", line 105, in get_chunk
    self._target(*self._args, **self._kwargs)
    self._target(*self._args, **self._kwargs)
  File "/home/primus/dev/podium/Podrum/podrum/world/world.py", line 90, in load_worker
    self.load_chunk(item[0], item[1])
    self.run()
    chunk_data: bytes = reg.get_chunk_data(chunk_index[0], chunk_index[1])
  File "/home/primus/dev/podium/Podrum/podrum/world/provider/anvil/region.py", line 52, in get_chunk_data
    self.load_chunk(item[0], item[1])
  File "/home/primus/dev/podium/Podrum/podrum/world/world.py", line 51, in load_chunk
    self.load_chunk(item[0], item[1])
  File "/home/primus/dev/podium/Podrum/podrum/world/world.py", line 51, in load_chunk
  File "/home/primus/dev/podium/Podrum/podrum/world/world.py", line 51, in load_chunk
  File "/usr/lib/python3.9/threading.py", line 892, in run
    chunk: object = self.provider.get_chunk(x, z)
  File "/home/primus/dev/podium/Podrum/podrum/world/provider/anvil/anvil.py", line 105, in get_chunk
    chunk: object = self.provider.get_chunk(x, z)
  File "/home/primus/dev/podium/Podrum/podrum/world/provider/anvil/anvil.py", line 105, in get_chunk
    offset: int = binary_converter.read_unsigned_triad_be(file.read(3))
  File "/home/primus/dev/podium/Podrum/venv/lib/python3.9/site-packages/binary_utils/binary_converter.py", line 101, in read_unsigned_triad_be
    self._target(*self._args, **self._kwargs)
  File "/home/primus/dev/podium/Podrum/podrum/world/world.py", line 90, in load_worker
    chunk_data: bytes = reg.get_chunk_data(chunk_index[0], chunk_index[1])
    return struct.unpack(">I", b"\x00" + data)[0]
    chunk: object = self.provider.get_chunk(x, z)
  File "/home/primus/dev/podium/Podrum/podrum/world/provider/anvil/anvil.py", line 105, in get_chunk
struct.error: unpack requires a buffer of 4 bytes
  File "/home/primus/dev/podium/Podrum/podrum/world/world.py", line 90, in load_worker
    self.load_chunk(item[0], item[1])
  File "/home/primus/dev/podium/Podrum/podrum/world/world.py", line 51, in load_chunk
  File "/home/primus/dev/podium/Podrum/podrum/world/provider/anvil/region.py", line 52, in get_chunk_data
    self.load_chunk(item[0], item[1])
    chunk: object = self.provider.get_chunk(x, z)
    chunk_data: bytes = reg.get_chunk_data(chunk_index[0], chunk_index[1])
  File "/home/primus/dev/podium/Podrum/podrum/world/provider/anvil/region.py", line 52, in get_chunk_data
    chunk_data: bytes = reg.get_chunk_data(chunk_index[0], chunk_index[1])
  File "/home/primus/dev/podium/Podrum/podrum/world/world.py", line 51, in load_chunk
    offset: int = binary_converter.read_unsigned_triad_be(file.read(3))
  File "/home/primus/dev/podium/Podrum/podrum/world/provider/anvil/anvil.py", line 104, in get_chunk
  File "/home/primus/dev/podium/Podrum/podrum/world/provider/anvil/region.py", line 52, in get_chunk_data
  File "/home/primus/dev/podium/Podrum/venv/lib/python3.9/site-packages/binary_utils/binary_converter.py", line 101, in read_unsigned_triad_be
    reg: object = region(region_path)
  File "/home/primus/dev/podium/Podrum/podrum/world/provider/anvil/region.py", line 40, in __init__
    chunk: object = self.provider.get_chunk(x, z)
    offset: int = binary_converter.read_unsigned_triad_be(file.read(3))
  File "/home/primus/dev/podium/Podrum/venv/lib/python3.9/site-packages/binary_utils/binary_converter.py", line 101, in read_unsigned_triad_be
    return struct.unpack(">I", b"\x00" + data)[0]
struct.error: unpack requires a buffer of 4 bytes
    offset: int = binary_converter.read_unsigned_triad_be(file.read(3))
  File "/home/primus/dev/podium/Podrum/podrum/world/provider/anvil/anvil.py", line 105, in get_chunk
  File "/home/primus/dev/podium/Podrum/venv/lib/python3.9/site-packages/binary_utils/binary_converter.py", line 101, in read_unsigned_triad_be
    os.remove(path + ".lock")
    return struct.unpack(">I", b"\x00" + data)[0]
struct.error: unpack requires a buffer of 4 bytes
    chunk_data: bytes = reg.get_chunk_data(chunk_index[0], chunk_index[1])
FileNotFoundError: [Errno 2] No such file or directory: '/home/primus/dev/podium/Podrum/worlds/world/region/r.0.0.mca.lock'
    return struct.unpack(">I", b"\x00" + data)[0]
struct.error: unpack requires a buffer of 4 bytes
  File "/home/primus/dev/podium/Podrum/podrum/world/provider/anvil/region.py", line 52, in get_chunk_data
    offset: int = binary_converter.read_unsigned_triad_be(file.read(3))
  File "/home/primus/dev/podium/Podrum/venv/lib/python3.9/site-packages/binary_utils/binary_converter.py", line 101, in read_unsigned_triad_be
    return struct.unpack(">I", b"\x00" + data)[0]
struct.error: unpack requires a buffer of 4 bytes

System Information

[INFO: 18:52] This server is running Podrum version 0.0.6 Platinum on API 0.0.1. This version is licensed under the GPL v2.0 license.

Checklist

  • I have searched the open issues for duplicates.
  • I have shown the entire traceback, if possible.

Additional Context

No response

MCRegion based world format bug

Summary

This server software is not joinable

Reproduction Steps

Start the server and join

Expected Results

Join to the server

Actual Results

Exception in thread Thread-9:
Traceback (most recent call last):
File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
self.run()
File "/usr/lib/python3.6/threading.py", line 864, in run
self._target(*self._args, **self._kwargs)
File "/home/diego/Documentos/Podrum/podrum/world/world.py", line 90, in load_worker
self.load_chunk(item[0], item[1])
File "/home/diego/Documentos/Podrum/podrum/world/world.py", line 51, in load_chunk
chunk: object = self.provider.get_chunk(x, z)
File "/home/diego/Documentos/Podrum/podrum/world/provider/anvil/anvil.py", line 105, in get_chunk
chunk_data: bytes = reg.get_chunk_data(chunk_index[0], chunk_index[1])
File "/home/diego/Documentos/Podrum/podrum/world/provider/anvil/region.py", line 52, in get_chunk_data
offset: int = binary_converter.read_unsigned_triad_be(file.read(3))
File "/home/diego/.local/lib/python3.6/site-packages/binary_utils/binary_converter.py", line 101, in read_unsigned_triad_be
return struct.unpack(">I", b"\x00" + data)[0]
struct.error: unpack requires a buffer of 4 bytes

System Information

This server is running Podrum version 0.0.6 Platinum on API 0.0.1. This version is licensed under the GPL v2.0 license.

Checklist

  • I have searched the open issues for duplicates.
  • I have shown the entire traceback, if possible.

Additional Context

No response

fix

how to use it in be?

Support more languages

Summary

Support more languages

The Problem

Currently Podrum only supports English in the source code, which makes Podrum accessible to fewer people.

The Ideal Solution

Support more languages (Not README)
This makes Podrum reach more people.

The Current Solution

No response

Additional Context

No response

Add installation wizard

Summary

Installation wizard before starting server in first time

The Problem

  • When I start server software in first time I got error with conflict of ports.
  • I want tune some parameters in configuration for the first time without start of program.

The Ideal Solution

When server starting for the first time, to man will be prompted to configure the server or skip this and start.
For example we can check other server software(nukkit or pmmp) where implemented it.

The Current Solution

No response

Additional Context

No response

Error 0xb

Summary

Error 0xb : Could not connect to server

Reproduction Steps

After entering the server I was dis
Once again, on the console it says:
[ERROR: 07:25] Terminating connectinon, due to malformed packet (0xb)

Expected Results

I can connect to the server!

C:\Users\nhang\Desktop\Podrum-main>python3 run.py
[INFO: 07:23] Podrum is starting up...
[INFO: 07:23] Loading DevTools...
[INFO: 07:23] [ DevTools ] >> DevTools is on fire!!!
[INFO: 07:23] None
[SUCCESS: 07:23] Successfully loaded DevTools.
[SUCCESS: 07:23] Loaded world -> world
[SUCCESS: 07:23] Done in 0.031. Type help to view all available commands.
[INFO: 07:24] [ DevTools ] >> There is no plugins to load
[INFO: 07:24] None
[INFO: 07:24] 192.168.1.109:43045 connected.
[INFO: 07:24] NhanAZ logged in with uuid dcaec07f-6abc-3b29-8852-ccbce2c777dc.
[SUCCESS: 07:24] NhanAZ has all packs.
[INFO: 07:24] 192.168.1.109:43045 disconnected.
[INFO: 07:25] 192.168.1.109:43045 connected.
[INFO: 07:25] NhanAZ logged in with uuid dcaec07f-6abc-3b29-8852-ccbce2c777dc.
[SUCCESS: 07:25] NhanAZ has all packs.
**[ERROR: 07:25] Terminating connectinon, due to malformed packet (0xb)**
[INFO: 07:25] 192.168.1.109:43045 disconnected.

Actual Results

I can't connect to the server!

System Information

[INFO: 07:25] This server is running Podrum version 0.0.6 Platinum on API 0.0.1. This version is licensed under the GPL v2.0 license.

Checklist

  • I have searched the open issues for duplicates.
  • I have shown the entire traceback, if possible.

Additional Context

After entering the server I get the message:
[ERROR: 07:25] Terminating connectinon, due to malformed packet (0xb)

Unable to join server

Summary

Joining from another device doesn't work

Reproduction Steps

I changed the IP to my computers IP.

Expected Results

Connect just fine on every device.

Actual Results

The thing is the script works but when I try to connect to it on my mobile device it just doesn't connect and says "Unable to connect to world". I don't have minecraft on my PC so I don't know if it works on my PC.

System Information

Windows 10 ig what kind of question is this.

Checklist

  • I have searched the open issues for duplicates.
  • I have shown the entire traceback, if possible.

Additional Context

I hope you guys will fix it soon. GL to everyone!

Python doesn't have field declaration.

class Foo:
    x = []
    def __init__(self, y):
        self.x.append(y)

print(Foo(1).x)
# Prints [1]
print(Foo(2).x)
# Prints [1, 2]

Stop copying PocketMine design blindly. Get started learning Python properly.

Add PlayerInterectEvent

Summary

PlayerInterectEvent

The Problem

Plis Add PlayerInterectEvent

The Ideal Solution

nothing

The Current Solution

No response

Additional Context

No response

Feature comments

Summary

The time on the dashboard is displayed in more detail

The Problem

Sometimes plugins fail and we need to know smaller time units to easily fix it.

The Ideal Solution

Instead of just showing hours and minutes I want to show more hours, minutes, seconds, milliseconds.

The Current Solution

No response

Additional Context

No response

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.