Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2017
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const WebSocket = require('ws')
  2. const fs = require('fs')
  3.  
  4. const serverAddr = process.env.SERVER_ADDR || ''
  5. const numBots = process.env.NUM_BOTS || 200
  6. let intervalBetweenMessages = process.env.INTERVAL_BETWEEN_MESSAGES || 60
  7. intervalBetweenMessages = parseInt(intervalBetweenMessages, 10)
  8. let botId = process.env.BOT_ID || 0
  9. botId = parseInt(botId, 10)
  10.  
  11. const base = 5000 / (5000 / numBots)
  12.  
  13. const text = fs.readFileSync('ids').toString('utf-8')
  14. const ids = text.split('\n')
  15.  
  16. const log = (id, message) => {
  17.   console.log(id, message)
  18. }
  19.  
  20. const sendMessage = (ws) => {
  21.   const randomUUID = ids[Math.floor(Math.random() * (ids.length - 1)) + 1]
  22.   ws.send(JSON.stringify({
  23.     route: 'player.message',
  24.     args: {
  25.       playerId: randomUUID,
  26.       msg: 'andre presunto',
  27.     },
  28.   }))
  29. }
  30.  
  31. for (let i = 0; i < numBots; i += 1) {
  32.   const uuid = ids[(base * botId) + i]
  33.   const ws = new WebSocket(`${serverAddr}/${uuid}`)
  34.   ws.on('open', () => {
  35.     log(i, `connection open ${uuid}`)
  36.     setInterval(() => { sendMessage(ws) }, intervalBetweenMessages)
  37.   })
  38.  
  39.   ws.on('message', (data) => {
  40.     log(i, `message received: ${data}`)
  41.   })
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement