简体   繁体   中英

How to implement console commands while server is running in Node.js

I'm making a game server and I would like to type commands after I run the server from SSH. For example: addbot, generatemap, kickplayer, etc.

Like in Half-life or any other gameserver. How can I make Node.js listen to my commands and still keep the server running in SSH?

You can use process.stdin like this:

process.stdin.resume();
process.stdin.setEncoding('utf8');

process.stdin.on('data', function (text) {
  console.log(text);
  if (text.trim() === 'quit') {
    done();
  }
});

function done() {
  console.log('Now that process.stdin is paused, there is nothing more to do.');
  process.exit();
}

Otherwise, you can use helper libraries like prompt https://github.com/flatiron/prompt which lets you do this:

var prompt = require('prompt');

// Start the prompt
prompt.start();

// Get two properties from the user: username and email
prompt.get(['username', 'email'], function (err, result) {

  // Log the results.
  console.log('Command-line input received:');
  console.log('  username: ' + result.username);
  console.log('  email: ' + result.email);
})

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM