Hello my friends.
First, sorry for my bad english, I'm a brazilian nerd.
I downloaded the file "
mineserver_20160125215600_eb5af36f_VS2013.zip", decompressed it and successfully compiled it on Zorin OS 9.1 64 bits (based on Ubuntu 14.04 64 bits).
The mineserver starts and the port 25565 is successfully opened at address 0.0.0.0 (all interfaces).
This is the mineserver output:
Parser opening file .//config.cfg
Parser opening file .//./item_alias.cfg
mineserver.cpp:301::Mineserver(): Using config: .//config.cfg
[10:48:17] mineserver.cpp:339::Mineserver(): Welcome to Mineserver v0.2.0 (Alpha)
[10:48:17] mineserver.cpp:340::Mineserver(): Using:
[10:48:17] mineserver.cpp:341::Mineserver(): zlib 1.2.8
[10:48:17] mineserver.cpp:342::Mineserver(): libevent 2.0.21-stable
[10:48:17] mineserver.cpp:343::Mineserver(): OpenSSL 1.0.1f 6 Jan 2014
[10:48:17] mineserver.cpp:347::Mineserver(): Generating RSA key pair for protocol encryption
[10:48:17] mineserver.cpp:355::Mineserver(): RSA key pair generated.
[10:48:17] mineserver.cpp:388::Mineserver(): ServerID: 7789ad1245a70725
[10:48:17] mineserver.cpp:457::Mineserver(): Known recipes for crafting: 148
[10:48:17] Plugin: Loading: plugins/commands.so
[10:48:17] plugin.commands: Loaded commands!
[10:48:17] Plugin: Loading: plugins/filelog.so
[10:48:17] plugin.filelog: Loaded Filelog
[10:48:17] plugin.filelog: Logging to mineserver.log
[10:48:17] plugin.filelog: Logging chat to mineserver_chat.log
[10:48:17] Plugin: Loading: plugins/flatpermissions.so
[10:48:17] plugin.flatpermissions: Loaded flatpermissions!
[10:48:17] Plugin: Loading: plugins/nBreak.so
[10:48:17] plugin.nBreak: Loaded nBreak!
[10:48:17] Plugin: Loading: plugins/nether.so
[10:48:17] plugin.nether: Loaded nether!
[10:48:17] Plugin: Loading: plugins/passiveMobs.so
[10:48:17] plugin.passiveMobs: Loaded passiveMobs!
[10:48:17] map.cpp:233::init(): Using world: A-world
[10:48:17] mineserver.cpp:607::run(): Generating spawn area...
[10:48:17] mineserver.cpp:642::run(): 11/121 done. 0ms per chunk
[10:48:17] mineserver.cpp:642::run(): 22/121 done. 0ms per chunk
[10:48:17] mineserver.cpp:642::run(): 33/121 done. 0ms per chunk
[10:48:17] mineserver.cpp:642::run(): 44/121 done. 0ms per chunk
[10:48:17] mineserver.cpp:642::run(): 55/121 done. 0ms per chunk
[10:48:17] mineserver.cpp:642::run(): 66/121 done. 0ms per chunk
[10:48:17] mineserver.cpp:642::run(): 77/121 done. 0ms per chunk
[10:48:17] mineserver.cpp:642::run(): 88/121 done. 0ms per chunk
[10:48:17] mineserver.cpp:642::run(): 99/121 done. 0ms per chunk
[10:48:17] mineserver.cpp:642::run(): 110/121 done. 0ms per chunk
[10:48:17] mineserver.cpp:642::run(): 121/121 done. 0ms per chunk
[10:48:17] Map: Spawn area ready!
[10:48:17] mineserver.cpp:718::run(): Listening on:
[10:48:17] mineserver.cpp:729::run(): 127.0.1.1:25565
Running "netstat -natp" I can see the openned port:
tcp 0
0 0.0.0.0:25565 0.0.0.0:* LISTEN 32499/mineserver
When I run the client side (1.8.9 version) I get the following message:
Internal Exception: java.lang.NullPointerExceptionThe mineserver output for this is the following ("escovadordebits" is my username):
Packet from , state = 0x0, id = 0x0
[10:52:47] Packets: Player 1 login v.47 :
Packet from , state = 0x1, id = 0x0
[10:52:47] packets.cpp:1535::server_list_ping(): { "version": {"name": "1.8.9", "protocol": 47 },
"players": {"max": 50,"online": 0 },"description": {"text": "Mineserver testserver" }}
Packet from , state = 0x1, id = 0x1
[10:52:47] sockets.cpp:189::client_callback(): Socket closed
[10:52:47] mineserver.cpp:844::timed_1s(): Player 3 packets per second
Packet from , state = 0x0, id = 0x0
[10:52:53] Packets: Player 2 login v.47 :
Packet from , state = 0x2, id = 0x0
[10:52:53] sockets.cpp:185::client_callback(): User escovadordebits disconnected by closing socket
[10:52:53] mineserver.cpp:844::timed_1s(): Player escovadordebits 2 packets per second
The content of the config.cfg file is the following:
#
# Mineserver configuration
#
# Search paths
# Note: leading tilde '~' is treated as $HOME
system.path.data = ".";
system.path.plugins = "plugins";
system.path.home = ".";
system.pid_file = "mineserver.pid";
# Include item alias config file
include "item_alias.cfg";
# Interface.
system.interface.use_cli = true;
# Server name
system.server_name = "Mineserver testserver";
# Validate usernames against minecraft.net
# false means "offline" mode
#system.user_validation = true;
system.user_validation = false;
# Encryption required for validation
# will encrypt the whole protocol with AES/CFB8
# Offline mode will work with encryption
# Recommendation: DONT CHANGE
system.protocol_encryption = true;
# Disclose Software Version
system.show_version = true;
# Userlimit
system.user_limit = 50;
# IP
net.ip = "0.0.0.0";
# Port
net.port = 25565;
# Server administrator authentication password
# Used for core commands like shutdown and loadplugin
# using "/auth password" will make you an admin
# NOTE: default "CHANGEME" is ignored, so change this only if you want to use it.
system.admin.password = "admin";
# 0 = Normal Map
# 1 = Nether Map
# ...
# Map directory : Generator
map.storage.nbt.directories= ();
# WORLD ARE LOADED ALPHABETICALLY. you have been warned ;P
# Generators:
# 0 - old generator
# 1 - nether generator
# 2 - heaven generator
# 3 - new (biome) generator
# 4 - mapgen by Eximius
#map.storage.nbt.directories += ("B-nether":1);
#map.storage.nbt.directories += ("Cheaven":2);
map.storage.nbt.directories += ("A-world":3);
# Localization strings
strings.wrong_protocol = "Wrong protocol version";
strings.server_full = "Server is currently full";
# Physics options (water/lava)
#system.physics.enabled = false;
system.physics.enabled = true;
# Redstone options (EXPERIMENTAL)
system.redstone.enabled = true;
# Enable PvP ?
system.pvp.enabled = true;
# Enable area damage?
system.damage.enabled = true;
# true = Only helmets in helmet slot, false = any block in helmet slot (fun!)
system.armour.helmet_strict = true;
furnace.items.stone = ("in":4, "out":1, "meta":0, "count":1);
furnace.items.gold = ("in":14, "out":266, "meta":0, "count":1);
furnace.items.iron = ("in":15, "out":265, "meta":0, "count":1);
furnace.items.charcoal = ("in":17, "out":263, "meta":1, "count":1);
furnace.items.diamond = ("in":56, "out":264, "meta":0, "count":1);
furnace.items.lapiz = ("in":21, "out":351, "meta":4, "count":6);
furnace.items.glass = ("in":12, "out":20, "meta":0, "count":1);
furnace.items.pork = ("in":319, "out":320, "meta":0, "count":1);
furnace.items.clay = ("in":337, "out":336, "meta":0, "count":1);
furnace.items.fish = ("in":349, "out":350, "meta":0, "count":1);
furnace.items.cactus = ("in": 81, "out":351, "meta":2, "count":1);
# Save generated chunks which are not changed?
# Will generate the chunks again if false.
map.save_unchanged_chunks = true;
# Map save interval in seconds, 0 = off
map.save_interval = 1800;
#
# Map generator parameters
#
# Generate spawn area in advance
map.generate_spawn.enabled = true;
map.generate_spawn.size = 5;
map.generate_spawn.show_progress = true;
# Threading (how many concurrent generators running) !!NOT IN USE!!
mapgen.threads = 2;
# Time that grass takes to spread to the next block, in seconds
# Please note that zero is a VERY bad idea.
mapgen.grassrate = 10;
mapgen.croprate = 10;
mapgen.cactusrate = 10;
mapgen.reedrate = 10;
# Max height
mapgen.cactusmax = 4;
mapgen.reedmax = 5;
# Generate flatgrass map instead of normal map
mapgen.flatgrass = false;
# Snow instead of grass
mapgen.winter.enabled = false;
# Sea level
mapgen.sea.level = 62;
# Add Ore
mapgen.addore = true;
# Generate trees
mapgen.trees.enabled = true;
# Generate caves
mapgen.caves.enabled = false;
# Smaller number = smaller caves
mapgen.caves.size = 15;
# Do not modify if not sure what this is
# Used in: if(caveNoise.GetValue(x,y,z) < caveTreshold)
mapgen.caves.treshold = 0.05;
mapgen.caves.lava = true;
# Expand beaches (Experimental)
mapgen.beaches.expand = false;
mapgen.beaches.extent = 10;
mapgen.beaches.height = 2;
# Plugin loading
#
# The syntax is as follows:
# system.plugins += ("<name>");
# system.plugins += ("<alias>" : "<name>");
# Alternatively you can do this:
# system.plugins.<alias> = "<name>";
#
# Plugins are to be found under 'system.path.plugins' path
#
# If you use the second syntax, you're limited to [a-zA-Z0-9_]+ for the alias.
# It's probably not a great idea to use any characters other than that anyway.
#
# <alias>
# The plugin alias is whatever you like, it will be passed to the plugin so it
# can use it as a sort of instance name. For example if you have two different
# ban lists (for some reason), you could have them both operating at once by
# giving them unique identifiers.
#
# <name>
# Plugin name. If it starts with underscore '_' character, mineserver tries to
# load it from within the main binary. Instructions on how to compile plugins
# into mineserver are pending, but it basically involves just compiling the
# plugin to an object file then linking it to the mineserver binary when it's
# built.
#
# More information on this topic will be covered on the wiki Soon (tm).
system.plugins = ();
#system.plugins += ("binlog");
#system.plugins += ("banlist");
system.plugins += ("commands");
#system.plugins += ("crapMobs");
#system.plugins += ("cursesui");
system.plugins += ("filelog");
system.plugins += ("flatpermissions");
system.plugins += ("nBreak");
system.plugins += ("nether");
system.plugins += ("passiveMobs");
#system.plugins += ("whitelist");
Please, help me. What's my mistake?
Thanks in advance.