2012-05-03 17 views
5

Bir oyun sunucusu yapıyorum ve sunucuyu SSH'den çalıştırdıktan sonra komut yazmak istiyorum. Örneğin: addbot, generatemap, kickplayer, vb.Sunucu çalışırken konsol komutları nasıl yapılır Node.js

Half-life veya başka bir gameserver gibi. Node.js komutlarımı nasıl dinlerim ve sunucunun SSH'de çalışmasını nasıl sağlayabilirim?

cevap

10

Böyle process.stdin kullanabilirsiniz: Büyük Çalışma

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); 
}) 
+0

sayesinde:

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(); } 

Aksi takdirde, bunu olanak sağlayan istemi https://github.com/flatiron/prompt gibi yardımcı kitaplıkları kullanabilirsiniz! – Nick

+0

"quit" komutu çalışmıyor: P "text" değişkeni bu metne + "enter" yazıyor gibi görünüyor;) Bu girişi nasıl silebilirim? – Piotrek

+0

@ Ludwik11 kullanımı .trim() – Masterakos

İlgili konular