Skip to content

Commit 448f367

Browse files
authored
java version info per-server on the UI (#478)
1 parent b6e0d1e commit 448f367

File tree

6 files changed

+53
-2
lines changed

6 files changed

+53
-2
lines changed

html/index.html

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -965,6 +965,9 @@ <h4 class="title"><span class="icon icone-ticket"></span>{{ 'JAVA_SETTINGS' | tr
965965
</header>
966966
<section class="body">
967967
<div class="body-inner">
968+
<div class="control-group">
969+
{{( 'CURRENT_JAVA_VERSION' | translate)+': ' + servers[current].page_data.glance.java_version_in_use}}
970+
</div>
968971
<!-- Select -->
969972
<div class="control-group">
970973
<div class="controls">
@@ -1635,6 +1638,9 @@ <h4 translate="STARTING_A_NEW_SERVER"></h4>
16351638
<select class="" ng-model="myprofile" default-option="Select a profile" data-ng-options="p as p.id group by p.group for p in profiles | profile_downloaded: 'only_downloaded' | orderBy:'-releaseTime'" ng-change="change_sc('minecraft', 'profile', myprofile.id)">
16361639
<option value="" disabled selected translate="CHANGE_PROFILE_TO"></option>
16371640
</select>
1641+
<div class="control-group">
1642+
{{( 'CURRENT_JAVA_VERSION' | translate)+': ' + servers[current].page_data.glance.java_version_in_use}}
1643+
</div>
16381644
<!-- Select -->
16391645
<div class="control-group">
16401646
<div class="controls">

html/locales/locale-en_US.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@
103103
"SELECT_SERVER_PROFILE": "Select server profile",
104104
"CHANGE_PROFILE_TO": "Change profile to:",
105105
"CHANGE_JARFILE_TO": "Change runnable jar to:",
106+
"CURRENT_JAVA_VERSION": "Java Version in Use",
106107
"ADDITIONAL_JAVA_ARGS": "Additional Java arguments:",
107108
"ADDITIONAL_JAR_ARGS": "Additional Jar arguments:",
108109
"CHANGE_NICENESS": "Change Process Niceness",

java.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
async function usedJavaVersion(sc, callback){
2+
try{
3+
var child_process = require('child_process');
4+
var which = require('which');
5+
6+
var java_binary = which.sync('java');
7+
var value = (sc.java || {}).java_binary || java_binary;
8+
9+
var java_version = child_process.spawnSync(`${value}`, ['-version']);
10+
11+
var stdout = java_version.stdout.toString();
12+
var stderr = java_version.stderr.toString();
13+
14+
var toReturn = stdout ? stdout.split('"')[1].split('"')[0] : stderr.split('"')[1].split('"')[0];
15+
16+
callback(null, toReturn);
17+
}catch(e){
18+
callback(null, `Error accessing location '${value}'`);
19+
}
20+
21+
}
22+
23+
module.exports = {usedJavaVersion};

mineos.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ var child_process = require('child_process');
66
var which = require('which');
77
var logging = require('winston');
88
var mineos = exports;
9+
const java = require('./java.js');
910

1011
mineos.DIRS = {
1112
'servers': 'servers',
@@ -537,7 +538,7 @@ mineos.mc = function(server_name, base_dir) {
537538
var value = (dict.java || {}).java_tweaks || null;
538539
cb(null, value);
539540
});
540-
}
541+
},
541542
}, function(err, results) {
542543
if (err) {
543544
inner_callback(err, {});
@@ -1567,6 +1568,12 @@ mineos.mc = function(server_name, base_dir) {
15671568
fs.stat(path.join(self.env.cwd, 'FTBInstall.sh'), function(err, stat_data) {
15681569
callback(null, !!stat_data);
15691570
})
1571+
break;
1572+
case 'java_version_in_use':
1573+
self.sc(function(err,dict){
1574+
java.usedJavaVersion(dict,callback);
1575+
})
1576+
15701577
break;
15711578
default:
15721579
callback(true, undefined);

package-lock.json

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

server.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1304,7 +1304,8 @@ function server_container(server_name, user_config, socket_io) {
13041304
'eula': async.apply(instance.property, 'eula'),
13051305
'base_dir': function(cb) {
13061306
cb(null, user_config.base_directory)
1307-
}
1307+
},
1308+
'java_version_in_use': async.apply(instance.property, 'java_version_in_use'),
13081309
}, function(err, results) {
13091310
if (err instanceof Object)
13101311
logging.error('[{0}] Error with get_page_data glance'.format(server_name), err, results);

0 commit comments

Comments
 (0)