fador / mineserver Goto Github PK
View Code? Open in Web Editor NEWCustom Minecraft server software written in C++ for Windows and Linux
Home Page: http://mineserver.be/
License: BSD 3-Clause "New" or "Revised" License
Custom Minecraft server software written in C++ for Windows and Linux
Home Page: http://mineserver.be/
License: BSD 3-Clause "New" or "Revised" License
If you equip a mining tool, such as a diamond pickaxe/shovel/axe/sword, and then right-click on any block, you will lose your tool.
Protocol has changed.
Hello,
I cloned the git repository and checked out master, then ran cmake and make, and I get this error :
Building CXX object CMakeFiles/mineserver.dir/src/chat.cpp.o
In file included from /home/progval/src/mineserver/src/user.h:42:0,
from /home/progval/src/mineserver/src/chat.cpp:34:
/home/progval/src/mineserver/src/inventory.h: In constructor ‘Inventory::Recipe::Recipe()’:
/home/progval/src/mineserver/src/inventory.h:108:47: warning: passing NULL to non-pointer argument 1 of ‘std::vector<_Tp, _Alloc>::vector(std::vector::size_type, const value_type&, const allocator_type&) [with _Tp = Item*, _Alloc = std::allocator<Item*>, std::vector::size_type = long unsigned int, value_type = Item*, allocator_type = std::allocator<Item*>]’
In file included from /home/progval/src/mineserver/src/user.h:43:0,
from /home/progval/src/mineserver/src/chat.cpp:34:
/home/progval/src/mineserver/src/packets.h: At global scope:
/home/progval/src/mineserver/src/packets.h:108:37: warning: comma at end of enumerator list
In file included from /home/progval/src/mineserver/src/logger.h:37:0,
from /home/progval/src/mineserver/src/chat.cpp:35:
/home/progval/src/mineserver/src/tools.h: In function ‘std::wstring hsttonst(std::wstring)’:
/home/progval/src/mineserver/src/tools.h:81:35: warning: comparison between signed and unsigned integer expressions
/home/progval/src/mineserver/src/tools.h: In function ‘std::wstring nsttohst(std::wstring)’:
/home/progval/src/mineserver/src/tools.h:93:35: warning: comparison between signed and unsigned integer expressions
/home/progval/src/mineserver/src/chat.cpp: In member function ‘bool Chat::sendMsg(User*, std::string, Chat::MessageTarget)’:
/home/progval/src/mineserver/src/chat.cpp:242:55: error: ‘min’ was not declared in this scope
/home/progval/src/mineserver/src/chat.cpp:251:31: warning: comparison between signed and unsigned integer expressions
make[2]: *** [CMakeFiles/mineserver.dir/src/chat.cpp.o] Erreur 1
make[1]: *** [CMakeFiles/mineserver.dir/all] Erreur 2
make: *** [all] Erreur 2
My system is Debian GNU/Linux Sid.
Regards,
ProgVal
Lenny ships a cmake that is too old for mineserver.
To Install
pkg_add -r libevent
cd mineserver/src
gmake
To run
./mineserver
To uninstall
cd mineserver/src
gmake clean
Is there a help command? Could not find it here:
http://mineserver.be/wiki/Commands
Would be nice if you typed /help and all the commands available to you would show up. E.g. for admins also admin commands. Also, when doing e.g.
/help tp
it would display a short help message for the tp
command.
upon an autosave, /save or user quit server crashes instead of saves.
Win7 / WinXP
Unhandled exception at 0x0047b2d9 in mineserver.exe: 0xC00000FD: Stack overflow.
-break-
mineserver.exe!chunkmap::hash(int x, int z) line 255
src/chunkmap.h uses std::tr1::hash, which is defined in the following include file according to the documentation - http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf page 97:
#include TR1INCLUDE(functional)
The "unordered_map" include often does include "functional" (it uses it for its hasher type argument), but doesn't have to (and in fact it doesn't if you use the Boost variants, like I tried). Consequently, in some configurations leaving this include out will break compiling; adding it after the "unordered_map" include won't hurt though, since all include files have "guards" in them to prevent double inclusion.
Hello,
I've noticed that if I place stairs while facing in a certain direction (towards the spawn on my server), the staircases become invisible. This happens for both stone and wood stairs.
I don't have a good way to explain it so I uploaded it to youtube. The server lets you use blocks before you should be able to, thus being able to bury yourself. Also, it does not count those blocks as being used.
http://www.youtube.com/watch?v=sGzBYsIqVuc
Also, just an fyi, this is build rd25ec83 from http://mineserver.be/downloads/
I was building a lair on the bedrock and noticed some problems concerning gravel and gravity. On major thing I noticed was that if you put dirt over gravel and mined the gravel, the dirt would fall. It also seemed like only one gravel would fall at a time if multiple blocks were stacked.
I've built mineserver for an ARM cpu. It compiles fine with the sse extension disabled, but does not allow connections. The server gives the following message when a client tries to connect:
[01:23:07] mineserver.cpp:653::run(): Listening on:
[01:24:01] map.cpp:712::getBlock(): Invalid y value (0, -1, 0)
[01:24:02] map.cpp:712::getBlock(): Invalid y value (0, -1, 0)
This repeats, and the client does not connect. The server must then be killed with kill -9.
If someone joins server, the light is not rendered outside the sources chunk, happens with lightstone and torches.
Torches sometimes don't emit light at all until replaced or another light source is placed in or around the same chunk.
No Pre-Chunk sent, causing chunks not to be initialized and horrible chunk errors. Add this in map.cpp at line 1681:
// Pre-Chunk (Absolutely necessary, else client does not fully intialize chunk memory, and you get chunk errors)
(*p) << (int8_t)PACKET_PRE_CHUNK << (int32_t)(mapposx) << (int32_t)(mapposz) << (int8_t)1;
Could you give me commit access so I can commit this directly? I'd like to help further with the project.
I have noticed that if you are very far away from your "home", if you issue /home, it sends you to some type of limbo that looks like you are hovering in the sky. If you just type /home again however, it seems to send you back just fine.
When i run the server and log in, i just keep falling and see no blocks. The server outputs this when loading:
Failed to open file world/region/r.0.0.mcr
Error loading file
And this when i log in:
[00:00:53] :723: Loading chunk failed (getBlock)
Failed to open file world/region/r.0.0.mcr
Error loading file
I've been googling around for an answer, originally, I had thought it was libnoise, but after continuous reinstalling of all libraries and such, I've hit a dead end.
It appears as though event.h does not exist, and in other articles it's stated that event.h is linked to libnoise. I'm a bit perplexed.
xspence$ CXXFLAGS=-I/sw/include LDFLAGS=-L/sw/lib makemkdir -p .deps/./
g++ -M -I. -I/usr/include -I/usr/local/include -O -DFADOR_PLUGIN -o ".deps/mineserver.d" mineserver.cpp
mineserver.cpp:54:19: error: event.h: No such file or directory
make: *** [mineserver.o] Error 1
Xspence:src xspence$
Any help is appreciated. Thanks!
(gdb) r
Starting program: /Users/chrisb/Desktop/fador-mineserver-71736df/src/mineserver
Reading symbols for shared libraries +++++.. done
Loaded admins from admin.txt
Loading data from config.cfg
Loaded 10 lines from config.cfg
Loading data from item_alias.cfg
Loaded 161 lines from item_alias.cfg
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x00231000
0x00042c50 in getDouble ()
I've just tried this server under linux, and realized, that when I placed a minecart, I couldn't destroy it, and tried to push it forward, but i've just talk through it.
Hello,
I was trying this software on my server and I have few issues with the players. They often (every 1 or 2 minutes) get disconnected with this message
java.io.UTFDataFormatException: malformed input around byte 68
at java.io.DataInputStream.readUTF(DataInputStream.java:631)
at java.io.DataInputStream.readUTF(DataInputStream.java:547)
at ky.a(SourceFile:16)
at hj.b(SourceFile:108)
at kx.c(SourceFile:157)
at kx.c(SourceFile:15)
at rd.run(SourceFile:68)
The byte is changing sometimes, it's not always 68.
On the server side, in the log I can see this
Info from Sockets: Socket closed properly
Info from Sockets: Socket had no data to read
Often, all the players get disconnected at the same time with the same error (i don't know if it's the same byte), but from what I heard, yes, it's the same.
I built the server on a Debian 5 x64 following the INSTALL's instructions. The clients are either on Windows (32or64 I don't know) or Linux (64 bits).
If you need more informations, please ask :)
Thank you
Tried to look around to see if anyone reported these bugs and didn't find any.
-If you destroy a chest, anything dropped will not be able to be picked up.
-Also some blocks are either partially or entirely black. Screenshot below:
http://img140.imageshack.us/img140/5117/blacksteps.png
When I "built" the server files, it left out the "command.o" command.cpp"
How do I fix this?
When an item is left in the crafting table, it is destroyed rather than being dropped on the ground.
When right-clicking on a mob (e.g. on a sheep to use shears), the server actually tries to attach the player to the mob, which leads to the client crashing (with an "end of stream").
Hello,
I don't know if FreeBSD is supported but here is the output of my make command:
c++ -O2 -Wall -Werror -lpthread -levent -lz mineserver.cpp -o mineserver
mineserver.cpp: In function 'int main()':
mineserver.cpp:133: error: aggregate 'event accept_event' has incomplete type and cannot be defined
mineserver.cpp:136: error: 'event_base' was not declared in this scope
mineserver.cpp:136: error: 'eventbase' was not declared in this scope
mineserver.cpp:136: error: expected primary-expression before ')' token
mineserver.cpp:136: error: expected `;' before 'event_init'
mineserver.cpp:170: error: 'EV_READ' was not declared in this scope
mineserver.cpp:170: error: 'EV_PERSIST' was not declared in this scope
mineserver.cpp:170: error: 'event_set' was not declared in this scope
mineserver.cpp:171: error: 'event_add' was not declared in this scope
mineserver.cpp:195: error: 'event_base_loopexit' was not declared in this scope
mineserver.cpp:196: error: 'event_base_loop' was not declared in this scope
*** Error code 1
Stop in /usr/home/manhim/Projects/mineserver/src.
Would it be related to something wrong with my libevent installation or just that it's not supported at all on FreeBSD?
Placing Glass in the Air (and stepping onto it (only then?)) removes the Glass.
In last win rev, all mining item's disapear when you destroy 2 blocks
It seems sometimes that if you break a lot of blocks, some may not be able to be picked up.
When ever i place items, usually ones gotten from /i, they disappear a few seconds after placing them. Then, after i dig the same type of block, they all re-appear in my inventory.
Hi there!
I'm able to use the client to connect to mineserver, which is awesome!, but unfortunately it's really stuttering, which means that the FPS are at ~10 and it just generally feels really laggy -- most of the time! But after some time on the server, there also are periods that feel very smooth.
The profiler shows that when it's laggy, up to 90% of time is spent in the tick
section (which isn't the case for the official server). More specifically, in tick.level.checkLight.unspecified
. So as @fador suggested in the IRC, it seems to be related to lighting.
Since I have no clue how lighting works -- does anybody have an idea why this happens and how to fix it? I would love to try to fix it, but I just have no idea where to start :)
Sand/Gravel does not fall down sometimes (ever?) when mining the lowermost of it
Hi-
I have compiled MineServer on a Mac/PPC running OSX 10.5.8, and when I run ./mineserver, I get a crash. I am pasting the output when in debug mode:
(gdb) run
Starting program: /Users/*****/Desktop/Mineserver/fador-mineserver-21a6715/src/mineserver
Reading symbols for shared libraries ++++++.. done
Loading data from config.cfg
Loaded 32 lines from config.cfg
Loaded admins from admin.txt
Loaded banned users from banned.txt
Loaded whitelisted users from whitelist.txt
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
0x0003bb14 in NBT_Value::operator
Presently, libnoise is failing to be included on Ubuntu
Linux kernel: Linux ra 2.6.32-25-server #45-Ubuntu SMP Sat Oct 16 20:06:58 UTC 2010 x86_64 GNU/Linux
G++ version: g++ -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.4.3-4ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i486 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
I get the following error with the above (ignore the ncurses error for now, had to install ncurses-dev to get it to go away, the actual issue is with libnoise)
g++ -I. -I/usr/Local/include -I/usr/include -c -o map.o map.cpp
In file included from logger.h:32,
from map.cpp:47:
screen.h:36:21: error: ncurses.h: No such file or directory
In file included from map.cpp:50:
worldgen/mapgen.h:34:25: error: noise/noise.h: No such file or directory
If I alter the include on line 34 to libnoise/noise.h, it works as expected (I need to make the change in all locations it's looking for noise.h, however).
Not sure with the IF for detecting DEBIAN isn't working.
When log in, it lose 1 life or 1/2 life and there is no error in the log file.
Iron Doors don't open via Redstone-Torches, they open with a simple left-click like normal wooden doors.
a bit of quick comparison:
CMake is already used and can generate native project files for IDEs, etc.
Qmake: syntax is similar to Makefiles, so is very easy
SCons: syntax is python
as nobody likes to change things that hard, i go for updating cmake stuff :P
Hello,
Mineserver is really great project !
I've just got an old PowerMac G4@1,25GHz to run a Minecraft server.
I've tried to run the official minecraft_server.jar which is heavy and takes over 95% of CPU usage. So I wanted to test Mineserver.
I've managed to build the git sources and launch Mineserver on powerpc / ubuntu. But when I connect, my username is troncated, "Ambobo25000" becomes "moo50", first issue.
Here is the console log :
mineserver.cpp:214::main(): Using config: ./config.cfg
mineserver.cpp:314::init(): system.path.data = "../files"
mineserver.cpp:314::init(): system.path.plugins = "."
mineserver.cpp:314::init(): system.path.home = "."
mineserver.cpp:314::init(): system.pid_file = "mineserver.pid"
[22:01:36] mineserver.cpp:357::init(): Welcome to Mineserver v0.1.15 (Alpha)
[22:01:36] Plugin: Loading: ./commands.so
[22:01:36] plugin.commands: Loaded commands!
[22:01:36] Plugin: Loading: ./filelog.so
[22:01:36] plugin.filelog: Loaded Filelog
[22:01:36] plugin.filelog: Logging to mineserver.log
[22:01:36] plugin.filelog: Logging chat to mineserver_chat.log
[22:01:36] Plugin: Loading: ./flatpermissions.so
[22:01:36] plugin.flatpermissions: Loaded flatpermissions!
[22:01:36] Plugin: Loading: ./passiveMobs.so
[22:01:36] plugin.passiveMobs: Loaded passiveMobs!
[22:01:36] map.cpp:256::init(): World world
[22:01:36] mineserver.cpp:529::run(): Generating spawn area...
[22:01:36] mineserver.cpp:564::run(): 11/121 done. 1ms per chunk
[22:01:36] mineserver.cpp:564::run(): 22/121 done. 3ms per chunk
[22:01:36] mineserver.cpp:564::run(): 33/121 done. 0ms per chunk
[22:01:36] mineserver.cpp:564::run(): 44/121 done. 2ms per chunk
[22:01:36] mineserver.cpp:564::run(): 55/121 done. 1ms per chunk
[22:01:36] mineserver.cpp:564::run(): 66/121 done. 2ms per chunk
[22:01:36] mineserver.cpp:564::run(): 77/121 done. 2ms per chunk
[22:01:36] mineserver.cpp:564::run(): 88/121 done. 1ms per chunk
[22:01:36] mineserver.cpp:564::run(): 99/121 done. 2ms per chunk
[22:01:36] mineserver.cpp:564::run(): 110/121 done. 1ms per chunk
[22:01:36] mineserver.cpp:564::run(): 121/121 done. 1ms per chunk
[22:01:36] Map: Spawn area ready!
[22:01:36] mineserver.cpp:636::run(): Listening on:
[22:01:42] Packets: Player 1 login v.11 : moo50
Ok, then the big issue is that my "moo50" player spawns in impossible location !
[22:01:42] map.cpp:711::getBlock(): Invalid y value (0, -2147483648, 0)
etc ... (keep falling and kill himself)
I tried to modify the spawn point with MCEdit but mineserver keep spawing me under my world !
I'm running mineserver on :
PowerMac G4@1,25GHz, 1.25Go RAM
ubuntu-server 11.04
And the client is running on MacBookPro MacOS 10.6.7
Installing on CentOS and RHEL
# Install EPEL (Extra Packages for Enterprise Linux)
sudo su -c 'rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm'
sudo yum install git libevent libevent-devel zlib zlib-devel lua lua-devel
If you break ice, it turns into air (id: 0) instead of water (id: 8).
On the vanilla server that Notch wrote, broken ice turns into water (id: 8).
Neither servers (mineserver or the other) create an item you can pick up when ice is broken; keep it this way.
https://github.com/fador/mineserver/issues/closed#issue/10
I have closed this Issue by mistake :\
I have made symlinks from /usr/local/include/ev*.h to /usr/include and it worked but I got errors from loading the object levent. I think it's mostly from my environment. I will try to fix this on my side.
When player drops item using q the item drops always in the same direction regardless of where user is watching.
I already tried the suggested "deleting player data" suggestion. This seems to be the best server solution but it has been unplayable as the second someone starts moving, the other gets disconnected, and the write size varies. I think its urgent as the server cant function at all correctly as a result
Clicking a Storage Box with a Torch selected puts the Torch onto the Box
I can't seem to get large chests (two chests next to each other) to work. It only opens one normal-sized chest, with the items at the x,y,z block (as if it was one block instead of two).
g++ -I. -I/usr/Local/include -I/usr/include -c -o mineserver.o mineserver.cpp
mineserver.cpp:49: fatal error: event.h: No such file or directory
compilation terminated.
make: *** [mineserver.o] Error 1
sudo su -c 'rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm'
sudo yum install git libevent libevent-devel zlib zlib-devel libnoise-dev
No package libnoise-dev available.
OS: CentOs
x@x:~/Programming/fador-mineserver-f04916d/src$ make
g++ -I. -I/usr/Local/include -I/usr/include -c -o mineserver.o mineserver.cpp
\In file included from mineserver.cpp:62:
worldgen/mapgen.h:34:25: error: noise/noise.h: No such file or directory
From there it's just errors related to not finding it. Confirmed 9c28363 still compiles correctly and has no issues with libnoise.
==19812== 10,991 (36 direct, 10,955 indirect) bytes in 6 blocks are definitely lost in loss record 36 of 45
==19812== at 0x402309E: operator new (vg_replace_malloc.c:268)
==19812== by 0x80683FD: TAG_List(unsigned char_, NBT_list_) (nbt.cpp:163)
==19812== by 0x8067C0C: TAG_Compound(unsigned char_, NBT_struct_, bool) (nbt.cpp:244)
==19812== by 0x8067C45: TAG_Compound(unsigned char_, NBT_struct_, bool) (nbt.cpp:248)
==19812== by 0x8067C45: TAG_Compound(unsigned char_, NBT_struct_, bool) (nbt.cpp:248)
==19812== by 0x805A795: Map::loadMap(int, int) (map.cpp:249)
==19812== by 0x805AF9C: Map::sendToUser(User*, int, int) (map.cpp:400)
==19812== by 0x806D26D: User::pushMap() (user.cpp:289)
==19812== by 0x804C283: main (mineserver.cpp:135)
==19812==
The libnoise headers is by default located in /usr[/local]/include/noise, not in /usr[/local]/include/libnoise.
This is tested in arch linux when installing libnoise from the AUR repository and on FreeBSD when installing the devel/libnoise port.
Something changed in the protocol?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.