PrismarineJS / bedrock-protocol

Minecraft Bedrock protocol library, with authentication and encryption
https://prismarinejs.github.io/minecraft-data/?v=bedrock_1.17.10&d=protocol
MIT License
308 stars 72 forks source link

RakTimeout [Error]: Ping timed out #414

Closed MagicalsDev closed 1 year ago

MagicalsDev commented 1 year ago

Hey!, I'm a beginner in JavaScript, Apparently I don't know what is causing this error, I'm providing a little details as to what I'm trying to make! IDE: Replit Node Version: v18.12.1 Details: I'm trying to make a client/bot that stays in the server forever to prevent the server from going offline!, (I just want it in the server and I'm just gonna give it Creative to prevent dying)

Code:

// Express | WebServer \\

const express = require('express');

const app = express();

app.get('/', (req, res) => {
  res.send('Hello Express app!')
});

app.listen(3000, () => {
  console.log('server started');
});

// Minecraft | Bot \\

const bedrock = require('bedrock-protocol')
const client = bedrock.createClient({
  host: 'RockBurnSMP.aternos.me',   // optional
  port: 35594,         // optional, default 19132
  username: 'Notch',   // the username you want to join as, optional if online mode
  offline: true       // optional, default false. if true, do not login with Xbox Live. You will not be asked to sign-in if set to true.
})

client.on('text', (packet) => { // Listen for chat messages from the server and echo them back.
  if (packet.source_name != client.username) {
    client.queue('text', {
      type: 'chat', needs_translation: false, source_name: client.username, xuid: '', platform_chat_id: '',
      message: `${packet.source_name} said: ${packet.message} on ${new Date().toLocaleString()}`
    })
  }
})

What Pop-Ups in the console upon running the project:

server started
/home/runner/MinecraftBedrockBot/node_modules/bedrock-protocol/src/rak.js:71
    }, timeout, () => { throw new RakTimeout('Ping timed out') })
                              ^

RakTimeout [Error]: Ping timed out
    at /home/runner/MinecraftBedrockBot/node_modules/bedrock-protocol/src/rak.js:71:31
    at waitFor (/home/runner/MinecraftBedrockBot/node_modules/bedrock-protocol/src/datatypes/util.js:30:32)
Emitted 'error' event on Client instance at:
LucienHH commented 1 year ago

Hey,

Replit blocks UDP ports which bedrock-protocol requires to connect to servers.

See related issue https://github.com/PrismarineJS/bedrock-protocol/issues/363

extremeheat commented 1 year ago

Since this seems to be a common problem, maybe we could add this to the FAQ and/or an addendum to the ping error if a replit environment is detected? Seems like that would be helpful.

MagicalsDev commented 1 year ago

Hey there i currently running it localhost and i get this error upon starting it | node .

Error: Could not locate the bindings file. Tried:
 → C:\Users\Magicals\Desktop\Projects\Minecraft-Bedrock-Bot\node_modules\raknet-native\build\node-raknet.node
 → C:\Users\Magicals\Desktop\Projects\Minecraft-Bedrock-Bot\node_modules\raknet-native\build\Debug\node-raknet.node
 → C:\Users\Magicals\Desktop\Projects\Minecraft-Bedrock-Bot\node_modules\raknet-native\build\Release\node-raknet.node
 → C:\Users\Magicals\Desktop\Projects\Minecraft-Bedrock-Bot\node_modules\raknet-native\out\Debug\node-raknet.node
 → C:\Users\Magicals\Desktop\Projects\Minecraft-Bedrock-Bot\node_modules\raknet-native\Debug\node-raknet.node
 → C:\Users\Magicals\Desktop\Projects\Minecraft-Bedrock-Bot\node_modules\raknet-native\out\Release\node-raknet.node
 → C:\Users\Magicals\Desktop\Projects\Minecraft-Bedrock-Bot\node_modules\raknet-native\Release\node-raknet.node
 → C:\Users\Magicals\Desktop\Projects\Minecraft-Bedrock-Bot\node_modules\raknet-native\build\default\node-raknet.node
 → C:\Users\Magicals\Desktop\Projects\Minecraft-Bedrock-Bot\node_modules\raknet-native\compiled\18.16.0\win32\ia32\node-raknet.node
 → C:\Users\Magicals\Desktop\Projects\Minecraft-Bedrock-Bot\node_modules\raknet-native\addon-build\release\install-root\node-raknet.node
 → C:\Users\Magicals\Desktop\Projects\Minecraft-Bedrock-Bot\node_modules\raknet-native\addon-build\debug\install-root\node-raknet.node
 → C:\Users\Magicals\Desktop\Projects\Minecraft-Bedrock-Bot\node_modules\raknet-native\addon-build\default\install-root\node-raknet.node
 → C:\Users\Magicals\Desktop\Projects\Minecraft-Bedrock-Bot\node_modules\raknet-native\lib\binding\node-v108-win32-ia32\node-raknet.node
    at bindings (C:\Users\Magicals\Desktop\Projects\Minecraft-Bedrock-Bot\node_modules\bindings\bindings.js:126:9)
    at Object.<anonymous> (C:\Users\Magicals\Desktop\Projects\Minecraft-Bedrock-Bot\node_modules\raknet-native\binding.js:30:33)
    at Module._compile (node:internal/modules/cjs/loader:1254:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
    at Module.load (node:internal/modules/cjs/loader:1117:32)
    at Module._load (node:internal/modules/cjs/loader:958:12)
    at Module.require (node:internal/modules/cjs/loader:1141:19)
    at require (node:internal/modules/cjs/helpers:110:18)
    at Object.<anonymous> (C:\Users\Magicals\Desktop\Projects\Minecraft-Bedrock-Bot\node_modules\raknet-native\index.js:1:18)
    at Module._compile (node:internal/modules/cjs/loader:1254:14) {
  tries: [
    'C:\\Users\\Magicals\\Desktop\\Projects\\Minecraft-Bedrock-Bot\\node_modules\\raknet-native\\build\\node-raknet.node',
    'C:\\Users\\Magicals\\Desktop\\Projects\\Minecraft-Bedrock-Bot\\node_modules\\raknet-native\\build\\Debug\\node-raknet.node',
    'C:\\Users\\Magicals\\Desktop\\Projects\\Minecraft-Bedrock-Bot\\node_modules\\raknet-native\\build\\Release\\node-raknet.node',
    'C:\\Users\\Magicals\\Desktop\\Projects\\Minecraft-Bedrock-Bot\\node_modules\\raknet-native\\out\\Debug\\node-raknet.node',
    'C:\\Users\\Magicals\\Desktop\\Projects\\Minecraft-Bedrock-Bot\\node_modules\\raknet-native\\Debug\\node-raknet.node',
    'C:\\Users\\Magicals\\Desktop\\Projects\\Minecraft-Bedrock-Bot\\node_modules\\raknet-native\\out\\Release\\node-raknet.node',
    'C:\\Users\\Magicals\\Desktop\\Projects\\Minecraft-Bedrock-Bot\\node_modules\\raknet-native\\Release\\node-raknet.node',
    'C:\\Users\\Magicals\\Desktop\\Projects\\Minecraft-Bedrock-Bot\\node_modules\\raknet-native\\build\\default\\node-raknet.node',
    'C:\\Users\\Magicals\\Desktop\\Projects\\Minecraft-Bedrock-Bot\\node_modules\\raknet-native\\compiled\\18.16.0\\win32\\ia32\\node-raknet.node',
    'C:\\Users\\Magicals\\Desktop\\Projects\\Minecraft-Bedrock-Bot\\node_modules\\raknet-native\\addon-build\\release\\install-root\\node-raknet.node',
    'C:\\Users\\Magicals\\Desktop\\Projects\\Minecraft-Bedrock-Bot\\node_modules\\raknet-native\\addon-build\\debug\\install-root\\node-raknet.node',
    'C:\\Users\\Magicals\\Desktop\\Projects\\Minecraft-Bedrock-Bot\\node_modules\\raknet-native\\addon-build\\default\\install-root\\node-raknet.node',
    'C:\\Users\\Magicals\\Desktop\\Projects\\Minecraft-Bedrock-Bot\\node_modules\\raknet-native\\lib\\binding\\node-v108-win32-ia32\\node-raknet.node'
  ]
}

Code that I have written

const bedrock = require('bedrock-protocol')
const client = bedrock.createClient({
    host: 'RockBurnSMP.aternos.me',
    port: '35594',
    username: 'Notch',
    offline: true
})

client.on('connect', () => {
    console.log(`Joined!`)
})

image_2023-06-11_122147381

MagicalsDev commented 1 year ago

BTW I do recommend that you guys open up a Discord Server for better communication/discussion on errors

AnyBananaGAME commented 1 year ago

https://discord.gg/prismarinejs-413438066984747026