benbaptist / minecraft-wrapper Goto Github PK
View Code? Open in Web Editor NEWA simple & intuitive Minecraft Server wrapper. Supports IRC, backups, a plugin system, and more.
Home Page: http://wrapper.benbaptist.com/
License: Other
A simple & intuitive Minecraft Server wrapper. Supports IRC, backups, a plugin system, and more.
Home Page: http://wrapper.benbaptist.com/
License: Other
What does def init(self, api, log) do? What has to be in this definition? specifically, in the plugin code..
Like the essentials example, the init is:
def init(self, api, log):
self.api = api
self.minecraft = api.minecraft
self.log = log
self.powertool = []
yet the code also uses the player... if they dont need a self.player= api.player, why is the self.minecraft = api.minecraft there?
Is there a way to intercept the Minecraft command help (I assume register indentical self.api.registerCommand("help", self._myroutine) )...
but then do somthing like:
def _help(self, player, args):
player.message("\simple help - get help with simple plugin (home/spawn/etc)")
self.minecraft.#make minecraft print rest of default help#
or
def _help(self, player, args):
#code to decide if they already passed an argmument like "simple" or "mc"
#IF they did mc, then print out the default MC help function
#If they did simple, then print my menu
#make the menu display this if there were no args (val==0)
player.message("\help simple - get help with simple plugin (home/spawn/etc)")
player.message("\help mc - get help with minecraft commands (tell/me/etc)")
self.minecraft.#make minecraft print rest of default help#
I'll probably fix this by using actual JSON code.
When I open the file, it says "Specify file encoding";
"The file's encoding in invalid for python3.x". IDLE will convert it to UTF-8. What is the current encoding of the file?"
PREFILLED DEFAULT [cp1252]{cursor}
I opened the file with 7zip and extracted it. the Pyfiles inside open fine. How do I get this thing running??
I've come to try to finally submit some pull requests to you, while trying to generate a new Wrapper.py file I discovered that the src directory in the repo doesn't seem to include scripts.py or permissions.py.
Additionally Wrapper.py includes a lot of junk, including py~ files which I assume are backups created by your editor. Not sure how you are actually meant to generate Wrapper.py, but for my testing it was simply "zip Wrapper.py *.py".
I've created my plugin to store peoples "/sethome", but right now it saves their home in the storage container indexed by their username.. usernames which might change in some future version. I want to store their info under the UUID. However, I only see a player api method called lookupUUID that returns the username.. but I already have the name from player.username, so I am scratching my head as to why I need lookupUUID(uuid)??? Where do I get UUID's of the player in question (who is typing /home or /sethome ?
Adding support for 1.7 broke 1.6 compatibility.
I need to be able to read the stdout from 1.6, since I can't do that normally.
clear the variable containing logged-in users.
I narrowed this error to being caused by the plugin statement self.data.save()
C:\Users\JRUSSELL\Desktop\vanilla>python Wrapper.py
[18:41:21] [Wrapper.py/INFO] Wrapper.py started - Version 0.7.4 (development bui
ld #61)
[18:41:21] [Wrapper.py/INFO] Loading plugins...
[18:41:21] [Wrapper.py/INFO] Loading plugin Essentials.py...
[18:41:21] [Wrapper.py/DEBUG] [Essentials] Registered all of its commands.................
[18:41:21] [Wrapper.py/DEBUG] [Essentials] Registered all its events
[18:41:21] [Wrapper.py/INFO] Starting server...
[18:41:25] [Server thread/INFO]: Starting minecraft server version 1.8.1
....
[18:41:27] [Server thread/INFO]: Preparing spawn area: 95%
[18:41:27] [Server thread/INFO]: Done (1.144s)! For help, type "help" or "?"
[18:41:27] [Wrapper.py/INFO] Server started
[18:41:55] [Wrapper.py/INFO] SurestTexas00 logged in ...
[18:41:55] [Server thread/INFO]: SurestTexas00[/127.0.0.1:52940] logged in with
entity id 69 at (-4.190475225733941, 64.0, 59.36807096897444)
{'player': <api.player.Player instance at 0x02953DF0>}
[18:41:55] [Server thread/INFO]: SurestTexas00 joined the game
Last packet IDs (Server->Client) before disconnection:
[('0x19', 4), ('0x15', 7), ('0x1c', 7), ('0x19', 4), ('0x17', 9), ('0x19', 4), (
'0x17', 9), ('0x19', 4), ('0x17', 9), ('0x19', 4)]
Failed to grab packet (SERVER)
Traceback (most recent call last):
File "Wrapper.py\proxy.py", line 757, in handle
id, original = self.packet.grabPacket()
File "Wrapper.py\proxy.py", line 817, in grabPacket
dataLength = self.unpack_varInt()
File "Wrapper.py\proxy.py", line 841, in unpack_varInt
val = struct.unpack('B', self.recv(1))[0]
File "Wrapper.py\proxy.py", line 987, in recv
d = self.socket.recv(length)
File "C:\Python27\lib\socket.py", line 170, in _dummy
raise error(EBADF, 'Bad file descriptor')
error: [Errno 9] Bad file descriptor
Last packet IDs (Server->Client) before disconnection:
[('0x19', 4), ('0x15', 7), ('0x1c', 7), ('0x19', 4), ('0x17', 9), ('0x19', 4), (
'0x17', 9), ('0x19', 4), ('0x17', 9), ('0x19', 4)]
[18:42:09] [Server thread/INFO]: SurestTexas00 lost connection: TranslatableComp
onent{key='disconnect.genericReason', args=[Internal Exception: java.io.IOExcept
ion: An existing connection was forcibly closed by the remote host], siblings=[]
, style=Style{hasParent=false, color=null, bold=null, italic=null, underlined=nu
ll, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}
[18:42:09] [Server thread/INFO]: SurestTexas00 left the game
communicate over sockets or something.
hi
Which means that if i implement wrapper on an existing server, players will be treated as new players when they login... starting back out at the spawn point, bed spawns lost, no XP, lost inventories, and achievements starting over. Is there a way to work around this?
This is not just a wrapper issue, I guess its just the way proxies work because I have the same issue with my bungeecord worlds if I tried to bungeecord to a vanilla jar (works fine with spigot because it's designed to bo configued with bungeecord).
My second issue (again probably stemming from Windows usage) is that the world saving function appears to not be working because it is attempting (from what I see at the console) to "tar" the files (it says " "tar" not recognized as {operable command} ..."). The backup folder only contains a text file containing the names of the backups.
The basic "system" works for windows (I downloaded this because it was windows capat., per "http://minecraft.gamepedia.com/Programs_and_editors/Server_wrappers"
it appears (I am not a programmer however) according to the code that it is running Linux shell commands (Tar and MkDir) versus the Windows versions (copy/xcopy, MD). Is there a way to make the code check for the OS and use the appropriate shell commands (also, the options would be different for Tar versus Copy)?
I tried for this example "/spawn":
C:\Users\JRUSSELL\Desktop\vanilla>python Wrapper.py
[12:09:41] [Wrapper.py/INFO] Wrapper.py started - Version 0.7.4 (development bui
ld #61)
[12:09:41] [Wrapper.py/INFO] Loading plugins...
[12:09:41] [Wrapper.py/INFO] Loading plugin Essentials.py...
[12:09:41] [Wrapper.py/DEBUG] [Essentials] Registered permission 'essentials.war
p' with default value: True
[12:09:41] [Wrapper.py/DEBUG] [Essentials] Registered permission 'essentials.mot
d' with default value: True
[12:09:41] [Wrapper.py/DEBUG] [Essentials] Registered permission 'essentials.get
pos' with default value: True
[12:09:41] [Wrapper.py/DEBUG] [Essentials] Registered command 'setwarp'
[12:09:41] [Wrapper.py/DEBUG] [Essentials] Registered command 'warp'
[12:09:41] [Wrapper.py/DEBUG] [Essentials] Registered command 'motd'
[12:09:41] [Wrapper.py/DEBUG] [Essentials] Registered command 'setmotd'
[12:09:41] [Wrapper.py/DEBUG] [Essentials] Registered command 'echo'
[12:09:41] [Wrapper.py/DEBUG] [Essentials] Registered command 'blowblowblow'
[12:09:41] [Wrapper.py/DEBUG] [Essentials] Registered command 'killall'
[12:09:41] [Wrapper.py/DEBUG] [Essentials] Registered command 'gm'
[12:09:41] [Wrapper.py/DEBUG] [Essentials] Registered command 'getpos'
[12:09:41] [Wrapper.py/DEBUG] [Essentials] Registered command 'heal'
[12:09:41] [Wrapper.py/DEBUG] [Essentials] Registered command 'echoaction'
[12:09:41] [Wrapper.py/DEBUG] [Essentials] Registered command 'powertool'
[12:09:41] [Wrapper.py/DEBUG] [Essentials] Registered command 'i'
[12:09:41] [Wrapper.py/DEBUG] [Essentials] Registered command 'spawn'
[12:09:41] [Wrapper.py/DEBUG] [Essentials] Registered command 'block'
[12:09:41] [Wrapper.py/DEBUG] [Essentials] Registered command 'whois'
[12:09:41] [Wrapper.py/DEBUG] [Essentials] Registered event 'player.login'
[12:09:41] [Wrapper.py/DEBUG] [Essentials] Registered event 'player.dig'
[12:09:41] [Wrapper.py/INFO] Starting server...
[12:09:46] [Server thread/INFO]: Starting minecraft server version 1.8.1
[12:09:46] [Server thread/INFO]: Loading properties
[12:09:46] [Server thread/INFO]: Default game type: ADVENTURE
[12:09:46] [Server thread/INFO]: Generating keypair
[12:09:46] [Server thread/INFO]: Starting Minecraft server on 127.0.0.1:25565
[12:09:46] [Server thread/INFO]: Using default channel type
[12:09:46] [Server thread/WARN]: **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE
!
[12:09:46] [Server thread/WARN]: The server will make no attempt to authenticate
usernames. Beware.
[12:09:46] [Server thread/WARN]: While this makes the game possible to play with
out internet access, it also opens up the ability for hackers to connect with an
y username they choose.
[12:09:46] [Server thread/WARN]: To change this, set "online-mode" to "true" in
the server.properties file.
[12:09:46] [Server thread/INFO]: Preparing level "AllTheWorld"
[12:09:46] [Server thread/INFO]: Preparing start region for level 0
[12:09:47] [Server thread/INFO]: Done (0.957s)! For help, type "help" or "?"
[12:09:47] [Wrapper.py/INFO] Server started
[12:11:10] [Wrapper.py/INFO] SurestTexas00 logged in (UUID: xxxxxxxx-xxxx-xxxx-x
xxx-xxxxxxxxxxxx | IP: 184.18.6.142)
[12:11:11] [Server thread/INFO]: SurestTexas00[/127.0.0.1:61349] logged in with
entity id 50 at (-4.493749745287395, 65.0, 67.61178580243106)
{'player': <api.player.Player instance at 0x02989170>}
[12:11:11] [Server thread/INFO]: SurestTexas00 joined the game
[12:11:34] [Wrapper.py/INFO] SurestTexas00 executed: /help
op suresttexas00
[12:11:50] [Server thread/INFO]: Opped suresttexas00
[12:12:00] [Wrapper.py/INFO] SurestTexas00 executed: /help
[12:12:14] [Wrapper.py/INFO] SurestTexas00 executed: /time set 0
[12:12:14] [Server thread/INFO]: [SurestTexas00: Set the time to 0]
[12:12:30] [Wrapper.py/INFO] SurestTexas00 executed: /help 2
[12:12:42] [Wrapper.py/INFO] SurestTexas00 executed: /help 3
[12:12:54] [Wrapper.py/INFO] SurestTexas00 executed: /help 4
[12:13:02] [Wrapper.py/INFO] SurestTexas00 executed: /help 5
[12:13:13] [Wrapper.py/INFO] SurestTexas00 executed: /help 6
[12:13:34] [Wrapper.py/INFO] SurestTexas00 executed: /help 7
[12:15:33] [Wrapper.py/INFO] SurestTexas00 executed: /gamerule doDaylightCycle f
alse
[12:15:33] [Server thread/INFO]: [SurestTexas00: Game rule has been updated]
[12:16:54] [Wrapper.py/INFO] SurestTexas00 executed: /spawn
[12:16:54] [Wrapper.py/ERROR] Plugin 'com.benbaptist.plugins.essentials' errored
out when executing command: ' /{'callback': <bound method Main.s
pawn of <Essentials.Main instance at 0x02929210>>, 'permission': 'essentials.spa
wn'}':
[12:16:54] [Wrapper.py/ERROR] Traceback (most recent call last):
[12:16:54] [Wrapper.py/ERROR] File "Wrapper.py__main__.py", line 340, in play
erCommand
[12:16:54] [Wrapper.py/ERROR] if player.hasPermission(command["permission"])
:
[12:16:54] [Wrapper.py/ERROR] File "src/api/player.py", line 110, in hasPermis
sion
[12:16:54] [Wrapper.py/ERROR] if uuid in self.permissions["users"]:
[12:16:54] [Wrapper.py/ERROR] File "Wrapper.py\storage.py", line 22, in geti
tem
[12:16:54] [Wrapper.py/ERROR] return self.data[index]
[12:16:54] [Wrapper.py/ERROR] KeyError: 'users'
[12:16:54] [Wrapper.py/ERROR]
which can be turned off by passing irc=False to the broadcast function. Also perhaps some more dedicated functions in the API for IRC.
Not sure how I'll implement this.
Is something that needs attention?
[2015-01-11 13:41:45] [Wrapper.py/DEBUG] Could not parse packet, connection may crumble:
[2015-01-11 13:41:45] [Wrapper.py/DEBUG] Traceback (most recent call last):
[2015-01-11 13:41:45] [Wrapper.py/DEBUG] File "Wrapper\proxy.py", line 777, in handle
[2015-01-11 13:41:45] [Wrapper.py/DEBUG] if self.parse(id, original) and self.safe:
[2015-01-11 13:41:45] [Wrapper.py/DEBUG] File "Wrapper\proxy.py", line 629, in parse
[2015-01-11 13:41:45] [Wrapper.py/DEBUG] self.proxy.getClientByServerUUID(data["uuid"]).uuid,
[2015-01-11 13:41:45] [Wrapper.py/DEBUG] AttributeError: 'UUID' object has no attribute 'uuid'
[2015-01-11 13:41:45] [Wrapper.py/DEBUG]
[19:17:32] [Wrapper.py/ERROR] Socket error while sending -- disconnected
[19:17:32] [Wrapper.py/ERROR] Wrapper.py crashed - stopping sever to be safe
[19:17:32] [Wrapper.py/ERROR] Traceback (most recent call last):
[19:17:32] [Wrapper.py/ERROR] File "Wrapper.py", line 672, in
[19:17:32] [Wrapper.py/ERROR] server.startServer()
[19:17:32] [Wrapper.py/ERROR] File "Wrapper.py", line 533, in startServer
[19:17:32] [Wrapper.py/ERROR] self.handle()
[19:17:32] [Wrapper.py/ERROR] File "Wrapper.py", line 384, in handle
[19:17:32] [Wrapper.py/ERROR] self.parse()
[19:17:32] [Wrapper.py/ERROR] File "Wrapper.py", line 240, in parse
[19:17:32] [Wrapper.py/ERROR] self.send('PRIVMSG %s :%s' % (channel, message))
[19:17:32] [Wrapper.py/ERROR] File "Wrapper.py", line 212, in send
[19:17:32] [Wrapper.py/ERROR] self.sock.send('%s\n' % string)
[19:17:32] [Wrapper.py/ERROR] AttributeError: 'bool' object has no attribute 'send'
[19:17:32] [Wrapper.py/ERROR
For example I keep my wrapper-plugins directory in git, it would be good if the Wrapper would ignore any directory/file beginning with ".", standard for most UNIX style operating systems.
[14:45:54] [Wrapper.py/INFO] Loading plugin .git...
[14:45:54] [Wrapper.py/DEBUG] Traceback (most recent call last):
[14:45:54] [Wrapper.py/DEBUG] File "Wrapper.py/main.py", line 74, in loadPlugins
[14:45:54] [Wrapper.py/DEBUG] if os.path.isdir("wrapper-plugins/%s" % i): self.loadPlugin(i)
[14:45:54] [Wrapper.py/DEBUG] File "Wrapper.py/main.py", line 30, in loadPlugin
[14:45:54] [Wrapper.py/DEBUG] plugin = import_module(i)
[14:45:54] [Wrapper.py/DEBUG] File "/usr/lib/python2.7/importlib/init.py", line 30, in import_module
[14:45:54] [Wrapper.py/DEBUG] raise TypeError("relative imports require the 'package' argument")
[14:45:54] [Wrapper.py/DEBUG] TypeError: relative imports require the 'package' argument
[14:45:54] [Wrapper.py/DEBUG]
[14:45:54] [Wrapper.py/ERROR] Failed to import plugin '.git'
This mostly works pretty well; thanks for your hard work! This was the only real product I have access to on a windows platform.
The server starts fine, but I can only access the server from my LAN because:
[2014-12-01 15:07:45] [Wrapper.py/ERROR] Proxy mode could not be started because you do not have one or more of the following modules installed: pycrypt and requests
Your readme file states:
web mode and proxy mode require the following: pkg_resources , requests , and pycrypto .
I am on a windows machine.. are these Linux components or are they plugins that I need? How do I get these components?
More information on the save issue:
After using /sethome, I can TP to that home using /home. However, the data does not save to the disk. The end result is that homes.json is completely blank.. not even the initial {} that is started out with before executing sethome.
WRAPPER
[2015-01-08 12:49:37] [Wrapper.py/INFO] Plugins reloaded
[2015-01-08 12:50:24] [Wrapper.py/INFO] SurestTexas00 executed: /sethome
[2015-01-08 12:50:24] [Simple Plugin/DEBUG] sethome used '4f953255-6775-4dc6-a612-fb4230588eff' as the UUID for that command
[2015-01-08 12:50:24] [Simple Plugin/DEBUG] sethome set a home for '4f953255-6775-4dc6-a612-fb4230588eff' AKA 'SurestTexas00' at '(233.3528345205924, 64.0, -58.97286743864844)'
SERVER
[12:49:37] [Wrapper.py/INFO] Plugins reloaded
[12:50:24] [Wrapper.py/INFO] SurestTexas00 executed: /sethome
Exception in thread Thread-17:
Traceback (most recent call last):
File "C:\Python27\lib\threading.py", line 810, in *bootstrap_inner
self.run()
File "C:\Python27\lib\threading.py", line 763, in run
self.__target(_self.__args, _self.__kwargs)
File "Wrapper\storage.py", line 39, in periodicSave
self.save()
File "Wrapper\storage.py", line 56, in save
f.write(json.dumps(self.data))
File "C:\Python27\lib\json__init.py", line 243, in dumps
return _default_encoder.encode(obj)
File "C:\Python27\lib\json\encoder.py", line 207, in encode
chunks = self.iterencode(o, _one_shot=True)
File "C:\Python27\lib\json\encoder.py", line 270, in iterencode
return _iterencode(o, 0)
TypeError: keys must be a string
Plugin code snippets:
def onEnable(self):
# DATA
self.homes = self.api.getStorage("homes", True)
self.opmail = self.api.getStorage("opmail", True)
# DEFAULTS
if "homes" not in self.homes:
self.homes["homes"] = {}
if "opmailbox" not in self.opmail:
self.opmail["opmailbox"] = {}
def onDisable(self):
self.homes.save()
self.opmail.save()
def _sethome(self, player, args):
name = player.uuid
humanname = player.username
self.log.debug("sethome used '%s' as the UUID for that command" % name)
if len(args) == 0:
player.message({"text": "Home set!", "color": "gold"})
self.homes["homes"][name] = player.getPosition()
self.log.debug("sethome set a home for '%s' AKA '%s' at '%s'" % (name, humanname, (self.homes["homes"][name])))
else:
player.message({"text": "sethome does not take any arguments!", "color": "red"})
As in title, the players position in the Player object is not updated when they are on a Horse, probably a Minecart or Pig too.
The last working build was 61. This error continues to plague me:
I have tracked this down as starting with build 62...What was done in that build that would cause this?
(started from windows batch file):
C:\Users\JRUSSELL\Desktop\vanilla>python Wrapper.py
Traceback (most recent call last):
File "C:\Python27\lib\runpy.py", line 162, in run_module_as_main
"main", fname, loader, pkg_name)
File "C:\Python27\lib\runpy.py", line 72, in run_code
exec code in run_globals
File "Wrapper.py__main.py", line 7, in
File "Wrapper.py\server.py", line 1, in
ImportError: No module named resource
C:\Users\JRUSSELL\Desktop\vanilla>pause
Press any key to continue . . .
Called in proxy.py:404, during a player block placement.
Called in server.py:321 when a player uses the /me command.
One of these should probably be renamed. :)
[20:27:30] [Wrapper.py/DEBUG] plugin 'TwitchPlays-' registered event 'player.death'
[20:27:30] [Wrapper.py/ERROR] Wrapper.py crashed - stopping sever to be safe
[20:27:30] [Wrapper.py/ERROR] Traceback (most recent call last):
[20:27:30] [Wrapper.py/ERROR] File "/home/benbaptist/minecraft/TuxShow/src/main.py", line 151, in
[20:27:30] [Wrapper.py/ERROR] t = threading.Thread(target=wrapper.start(), args=())
[20:27:30] [Wrapper.py/ERROR] File "/home/benbaptist/minecraft/TuxShow/src/main.py", line 103, in start
[20:27:30] [Wrapper.py/ERROR] self.server.startServer()
[20:27:30] [Wrapper.py/ERROR] File "src/server.py", line 125, in startServer
[20:27:30] [Wrapper.py/ERROR] self.wrapper.callEvent("timer.second", {})
[20:27:30] [Wrapper.py/ERROR] File "/home/benbaptist/minecraft/TuxShow/src/main.py", line 58, in callEvent
[20:27:30] [Wrapper.py/ERROR] plugin = self.plugins[pluginID]
[20:27:30] [Wrapper.py/ERROR] KeyError: 'GamemodeRegion-'
[20:27:30] [Wrapper.py/ERROR]
Without a save-off, the server might lag while the backup happens due to writing on the same disk, and the backup has a high chance of erroring out due to the server writing to a file while being backed up, and thus causes tar to fail due to "file changed while being read".
As in the title, a client clicks "Disconnect" and this occurs...
Commit: 5abdf20
[15:59:01] [Server thread/INFO]: Melair left the game
error client->server, blah
Traceback (most recent call last):
File "Wrapper.py/proxy.py", line 422, in handle
self.close()
File "Wrapper.py/proxy.py", line 187, in close
self.server.close()
File "Wrapper.py/proxy.py", line 476, in close
if Config.debug:
NameError: global name 'Config' is not defined
error server->client, blah
.. on a new machine. I started the wrapper.py file and this is what i get:
C:\Users\JRUSSELL\Desktop\vanilla>python Wrapper.py
Traceback (most recent call last):
File "C:\Python27\lib\runpy.py", line 162, in run_module_as_main
"main", fname, loader, pkg_name)
File "C:\Python27\lib\runpy.py", line 72, in run_code
exec code in run_globals
File "Wrapper.py__main.py", line 7, in
File "Wrapper.py\server.py", line 1, in
ImportError: No module named resource
C:\Users\JRUSSELL\Desktop\vanilla>pause
Press any key to continue . . .
I was testing the development version and I found a bug.
When the proxy mode is active, the player list is empty and I can not see the other players.
e.g. every 24 hours, the server restarts to help keep things running smoothly.
I dont know what this is about. It does not seem to cause me any problems:
When the player exits:
C:\Users\JRUSSELL\Desktop\vanilla>python Wrapper
[16:05:13] [Wrapper.py/INFO] Wrapper.py started - Version 0.7.5 (development bui
ld #70)
[16:05:13] [Wrapper.py/INFO] Loading plugins...
[16:05:13] [Wrapper.py/INFO] Loading plugin simple.py...
[16:05:13] [Wrapper.py/DEBUG] [Simple Plugin] Registered command 'spawn'
[16:05:13] [Wrapper.py/DEBUG] [Simple Plugin] Registered command 'sethome'
[16:05:13] [Wrapper.py/DEBUG] [Simple Plugin] Registered command 'home'
[16:05:13] [Wrapper.py/DEBUG] [Simple Plugin] Registered command 'simple'
[16:05:13] [Wrapper.py/DEBUG] [Simple Plugin] Registered command 'ophelp'
[16:05:13] [Wrapper.py/INFO] Starting server...
[16:05:18] [Server thread/INFO]: Starting minecraft server version 1.8.1
[16:05:18] [Server thread/INFO]: Loading properties
[16:05:18] [Server thread/INFO]: Default game type: ADVENTURE
[16:05:18] [Server thread/INFO]: Generating keypair
[16:05:18] [Server thread/INFO]: Starting Minecraft server on 127.0.0.1:25565
[16:05:18] [Server thread/INFO]: Using default channel type
[16:05:18] [Server thread/WARN]: **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE
!
[16:05:18] [Server thread/WARN]: The server will make no attempt to authenticate
usernames. Beware.
[16:05:18] [Server thread/WARN]: While this makes the game possible to play with
out internet access, it also opens up the ability for hackers to connect with an
y username they choose.
[16:05:18] [Server thread/WARN]: To change this, set "online-mode" to "true" in
the server.properties file.
[16:05:18] [Server thread/INFO]: Preparing level "AllTheWorld"
[16:05:18] [Server thread/INFO]: Preparing start region for level 0
[16:05:19] [Server thread/INFO]: Done (1.060s)! For help, type "help" or "?"
[16:05:19] [Wrapper.py/INFO] Server started
[16:06:18] [Wrapper.py/INFO] SurestTexas00 logged in (UUID: 4f953255-6775-4dc6-a
612-fb4230588eff | IP: 184.18.6.142)
[16:06:18] [Server thread/INFO]: SurestTexas00[/127.0.0.1:56424] logged in with
entity id 122 at (233.3528345205924, 64.0, -58.97286743864844)
[16:06:18] [Server thread/INFO]: SurestTexas00 joined the game
[16:07:07] [Wrapper.py/INFO] SurestTexas00 executed: /sethome
[16:08:26] [Wrapper.py/INFO] SurestTexas00 executed: /spawn
[16:08:26] [Server thread/INFO]: Teleported SurestTexas00 to 228.5, 65.0, -59.5
[16:08:44] [Wrapper.py/INFO] SurestTexas00 executed: /simple help
Last packet IDs (Server->Client) before disconnection:
[('0x15', 7), ('0x12', 9), ('0x16', 6), ('0x19', 4), ('0x1a', 6), ('0x17', 9), (
'0x19', 4), ('0x17', 9), ('0x19', 4), ('0x0', 6)]
Failed to grab packet (SERVER)
Traceback (most recent call last):
File "Wrapper\proxy.py", line 757, in handle
id, original = self.packet.grabPacket()
File "Wrapper\proxy.py", line 817, in grabPacket
dataLength = self.unpack_varInt()
File "Wrapper\proxy.py", line 841, in unpack_varInt
val = struct.unpack('B', self.recv(1))[0]
File "Wrapper\proxy.py", line 999, in recv
d = self.socket.recv(length)
File "C:\Python27\lib\socket.py", line 170, in _dummy
raise error(EBADF, 'Bad file descriptor')
error: [Errno 9] Bad file descriptor
Last packet IDs (Server->Client) before disconnection:
[('0x15', 7), ('0x12', 9), ('0x16', 6), ('0x19', 4), ('0x1a', 6), ('0x17', 9), (
'0x19', 4), ('0x17', 9), ('0x19', 4), ('0x0', 6)]
[16:09:04] [Server thread/INFO]: SurestTexas00 lost connection: TranslatableComp
onent{key='disconnect.genericReason', args=[Internal Exception: java.io.IOExcept
ion: An existing connection was forcibly closed by the remote host], siblings=[]
, style=Style{hasParent=false, color=null, bold=null, italic=null, underlined=nu
ll, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}
[16:09:04] [Server thread/INFO]: SurestTexas00 left the game
Assign shell scripts based on certain events, such as the starting and stopping of a server, players logging in, etc.
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.