diff --git a/doc/api.md b/doc/api.md index 40a559b..dfddb12 100644 --- a/doc/api.md +++ b/doc/api.md @@ -21,6 +21,7 @@ - [serv.doDaylightCycle](#servdodaylightcycle) - [Events](#events) - ["error" (error)](#error-error) + - ["clientError" (client,error)](#clienterror-clienterror) - ["listening" (port)](#listening-port) - ["newPlayer" (player)](#newplayer-player) - ["banned" (banner,bannedUsername,reason)](#banned-bannerbannedusernamereason) @@ -54,7 +55,6 @@ - ["connected"](#connected) - ["spawned"](#spawned) - ["disconnected"](#disconnected) - - ["error" (error)](#error-error-1) - ["chat" (message)](#chat-message) - ["kicked" (kicker,reason)](#kicked-kickerreason) - ["positionChanged"](#positionchanged) @@ -160,6 +160,10 @@ Default `true`. If false, time will not automatically pass. Fires when there is an error. +#### "clientError" (client,error) + +Fires when `client` has an error. + #### "listening" (port) Fires when the server is listening. @@ -290,10 +294,6 @@ Fires when the player is spawned Fires when the player disconnected -#### "error" (error) - -Fires when there is an error. - #### "chat" (message) Fires when the player says `message`. diff --git a/src/lib/playerPlugins/log.js b/src/lib/playerPlugins/log.js index 5a26c28..eb92a72 100644 --- a/src/lib/playerPlugins/log.js +++ b/src/lib/playerPlugins/log.js @@ -9,8 +9,6 @@ function inject(serv,player) player.on("disconnected",() => serv.log("[INFO]: " + player.username + ' disconnected')); - player.on("error", error => serv.log('[ERR]: Client: ' + error.stack)); - player.on("chat", message => serv.log("[INFO] " + '<' + player.username + '>' + ' ' + message)); player.on("kicked",(kicker,reason) => diff --git a/src/lib/playerPlugins/logout.js b/src/lib/playerPlugins/logout.js index e01f66e..5ac9a68 100644 --- a/src/lib/playerPlugins/logout.js +++ b/src/lib/playerPlugins/logout.js @@ -27,7 +27,4 @@ function inject(serv,player) delete serv.uuidToPlayer[player._client.uuid]; } }); - - - player._client.on('error', error => player.emit('error',error)); } \ No newline at end of file diff --git a/src/lib/serverPlugins/log.js b/src/lib/serverPlugins/log.js index c0d9e17..a7529f4 100644 --- a/src/lib/serverPlugins/log.js +++ b/src/lib/serverPlugins/log.js @@ -9,6 +9,7 @@ module.exports=inject; function inject(serv,settings) { serv.on("error", error => serv.log('[ERR]: Server: '+error.stack)); + serv.on("clientError", (client,error) => serv.log('[ERR]: Client '+client.socket.remoteAddress + ':' + client.socket.remotePort+' : '+error.stack)); serv.on("listening", port => serv.log('[INFO]: Server listening on port '+port)); diff --git a/src/lib/serverPlugins/login.js b/src/lib/serverPlugins/login.js index f39e0ae..4aa7cd7 100644 --- a/src/lib/serverPlugins/login.js +++ b/src/lib/serverPlugins/login.js @@ -8,6 +8,9 @@ module.exports = inject; function inject(serv,options) { + serv._server.on('connection', client => + client.on('error',error => serv.emit('clientError',client,error))); + serv._server.on('login', async (client) => { if(!options["online-mode"]) client.uuid=UUID.v3({