If 'user' not assigned 'group' WebUI Restarts

The web UI keeps logging out or possibly restarting. This happens with a brand-new install of Arch Linux. In addition while I was able to download the 1.9 profile I was no longer able to download any other profiles. I was able to create a server but I was not able to select the 1.9 profile to copy over to the server directory through the web UI. I’m new to Arch Linux but the setup of mineOS seems very similar to the Ubuntu.

MineOS logs snippet git commit: b49c634

{"level":"info","message":"[WEBUI] root connected from 192.168.1.122","timestamp":"2016-03-03T21:28:33.527Z"}
{"level":"info","message":"[WEBUI] Downloading official profiles.","timestamp":"2016-03-03T21:28:34.979Z"}
{"command":"create","server_name":"1_9_World","properties":{"generate-structures":true,"enable-query":true,"gamemode":"0","difficulty":"3","server-port":"25564"},"level":"info","message":"[WEBUI] Received emit command from 192.168.1.122:root","timestamp":"2016-03-03T21:29:55.262Z"}
{"level":"info","message":"[1_9_World] Discovered server","timestamp":"2016-03-03T21:29:55.289Z"}
{"level":"error","message":"[1_9_World] Create tail on logs/latest.log failed","timestamp":"2016-03-03T21:29:55.337Z"}
{"level":"info","message":"[1_9_World] Watching for file generation: logs/latest.log","timestamp":"2016-03-03T21:29:55.337Z"}
{"level":"error","message":"[1_9_World] Create tail on server.log failed","timestamp":"2016-03-03T21:29:55.337Z"}
{"level":"info","message":"[1_9_World] Watching for file generation: server.log","timestamp":"2016-03-03T21:29:55.337Z"}
{"level":"error","message":"[1_9_World] Create tail on proxy.log.0 failed","timestamp":"2016-03-03T21:29:55.338Z"}
{"level":"info","message":"[1_9_World] Watching for file generation: proxy.log.0","timestamp":"2016-03-03T21:29:55.338Z"}
{"level":"info","message":"[1_9_World] root (192.168.1.122) joined server namespace","timestamp":"2016-03-03T21:29:55.513Z"}
{"level":"info","message":"[1_9_World] Server created in filesystem.","timestamp":"2016-03-03T21:29:55.517Z"}
{"date":"Thu Mar 03 2016 15:30:00 GMT-0600 (CST)","process":{"pid":392,"uid":0,"gid":0,"cwd":"/","execPath":"/usr/bin/node","version":"v5.7.1","argv":["/usr/bin/node","/usr/games/minecraft/webui.js","start"],"memoryUsage":{"rss":75755520,"heapTotal":41521952,"heapUsed":34261048}},"os":{"loadavg":[0.06640625,0.119140625,0.05712890625],"uptime":318},"trace":[{"column":19,"file":"/usr/games/minecraft/mineos.js","function":null,"line":1513,"method":null,"native":false},{"column":34,"file":"/usr/games/minecraft/node_modules/async/lib/async.js","function":"fn","line":746,"method":null,"native":false},{"column":16,"file":"/usr/games/minecraft/node_modules/async/lib/async.js","function":null,"line":1213,"method":null,"native":false},{"column":37,"file":"/usr/games/minecraft/node_modules/async/lib/async.js","function":null,"line":166,"method":null,"native":false},{"column":43,"file":"/usr/games/minecraft/node_modules/async/lib/async.js","function":null,"line":706,"method":null,"native":false},{"column":37,"file":"/usr/games/minecraft/node_modules/async/lib/async.js","function":null,"line":167,"method":null,"native":false},{"column":30,"file":"/usr/games/minecraft/node_modules/async/lib/async.js","function":null,"line":1209,"method":null,"native":false},{"column":9,"file":"/usr/games/minecraft/mineos.js","function":null,"line":225,"method":null,"native":false},{"column":16,"file":"/usr/games/minecraft/node_modules/async/lib/async.js","function":null,"line":52,"method":null,"native":false},{"column":30,"file":"/usr/games/minecraft/node_modules/async/lib/async.js","function":null,"line":1209,"method":null,"native":false}],"stack":["TypeError: Cannot read property 'slice' of undefined","    at /usr/games/minecraft/mineos.js:1513:19","    at fn (/usr/games/minecraft/node_modules/async/lib/async.js:746:34)","    at /usr/games/minecraft/node_modules/async/lib/async.js:1213:16","    at /usr/games/minecraft/node_modules/async/lib/async.js:166:37","    at /usr/games/minecraft/node_modules/async/lib/async.js:706:43","    at /usr/games/minecraft/node_modules/async/lib/async.js:167:37","    at /usr/games/minecraft/node_modules/async/lib/async.js:1209:30","    at /usr/games/minecraft/mineos.js:225:9","    at /usr/games/minecraft/node_modules/async/lib/async.js:52:16","    at /usr/games/minecraft/node_modules/async/lib/async.js:1209:30"],"level":"error","message":"uncaughtException: Cannot read property 'slice' of undefined","timestamp":"2016-03-03T21:30:00.543Z"}
{"profile":{"id":"1.9","time":"2016-03-01T13:14:53+00:00","releaseTime":"2016-02-29T13:49:54+00:00","type":"release","group":"mojang","webui_desc":"Official Mojang Jar","weight":0,"downloaded":false,"filename":"minecraft_server.1.9.jar","version":"1.9","release_version":"1.9","url":"https://s3.amazonaws.com/Minecraft.Download/versions/1.9/minecraft_server.1.9.jar","$$hashKey":"object:198"},"command":"download","level":"info","message":"[WEBUI] Received emit command from 192.168.1.122:root","timestamp":"2016-03-03T21:30:02.968Z"}
{"level":"info","message":"[1_9_World] Discovered server","timestamp":"2016-03-03T21:30:04.021Z"}
{"level":"error","message":"[1_9_World] Create tail on logs/latest.log failed","timestamp":"2016-03-03T21:30:04.022Z"}
{"level":"info","message":"[1_9_World] Watching for file generation: logs/latest.log","timestamp":"2016-03-03T21:30:04.022Z"}
{"level":"error","message":"[1_9_World] Create tail on server.log failed","timestamp":"2016-03-03T21:30:04.034Z"}
{"level":"info","message":"[1_9_World] Watching for file generation: server.log","timestamp":"2016-03-03T21:30:04.034Z"}
{"level":"error","message":"[1_9_World] Create tail on proxy.log.0 failed","timestamp":"2016-03-03T21:30:04.034Z"}
{"level":"info","message":"[1_9_World] Watching for file generation: proxy.log.0","timestamp":"2016-03-03T21:30:04.034Z"}
{"level":"info","message":"Starting up server, using commit: b49c634 changed dockerfile to debian jessie, added node\n","timestamp":"2016-03-03T21:30:04.096Z"}
{"date":"Thu Mar 03 2016 15:30:09 GMT-0600 (CST)","process":{"pid":467,"uid":0,"gid":0,"cwd":"/","execPath":"/usr/bin/node","version":"v5.7.1","argv":["/usr/bin/node","/usr/games/minecraft/webui.js","start"],"memoryUsage":{"rss":63692800,"heapTotal":37413664,"heapUsed":20955840}},"os":{"loadavg":[0.05615234375,0.115234375,0.05615234375],"uptime":327},"trace":[{"column":19,"file":"/usr/games/minecraft/mineos.js","function":null,"line":1513,"method":null,"native":false},{"column":34,"file":"/usr/games/minecraft/node_modules/async/lib/async.js","function":"fn","line":746,"method":null,"native":false},{"column":16,"file":"/usr/games/minecraft/node_modules/async/lib/async.js","function":null,"line":1213,"method":null,"native":false},{"column":37,"file":"/usr/games/minecraft/node_modules/async/lib/async.js","function":null,"line":166,"method":null,"native":false},{"column":43,"file":"/usr/games/minecraft/node_modules/async/lib/async.js","function":null,"line":706,"method":null,"native":false},{"column":37,"file":"/usr/games/minecraft/node_modules/async/lib/async.js","function":null,"line":167,"method":null,"native":false},{"column":30,"file":"/usr/games/minecraft/node_modules/async/lib/async.js","function":null,"line":1209,"method":null,"native":false},{"column":9,"file":"/usr/games/minecraft/mineos.js","function":null,"line":225,"method":null,"native":false},{"column":16,"file":"/usr/games/minecraft/node_modules/async/lib/async.js","function":null,"line":52,"method":null,"native":false},{"column":30,"file":"/usr/games/minecraft/node_modules/async/lib/async.js","function":null,"line":1209,"method":null,"native":false}],"stack":["TypeError: Cannot read property 'slice' of undefined","    at /usr/games/minecraft/mineos.js:1513:19","    at fn (/usr/games/minecraft/node_modules/async/lib/async.js:746:34)","    at /usr/games/minecraft/node_modules/async/lib/async.js:1213:16","    at /usr/games/minecraft/node_modules/async/lib/async.js:166:37","    at /usr/games/minecraft/node_modules/async/lib/async.js:706:43","    at /usr/games/minecraft/node_modules/async/lib/async.js:167:37","    at /usr/games/minecraft/node_modules/async/lib/async.js:1209:30","    at /usr/games/minecraft/mineos.js:225:9","    at /usr/games/minecraft/node_modules/async/lib/async.js:52:16","    at /usr/games/minecraft/node_modules/async/lib/async.js:1209:30"],"level":"error","message":"uncaughtException: Cannot read property 'slice' of undefined","timestamp":"2016-03-03T21:30:09.093Z"}
{"level":"info","message":"[1_9_World] autostart = false","timestamp":"2016-03-03T21:30:09.095Z"}
{"level":"error","message":"[1_9_World] Aborted server startup; condition not met: true","timestamp":"2016-03-03T21:30:09.096Z"}
{"level":"info","message":"[1_9_World] Discovered server","timestamp":"2016-03-03T21:30:12.769Z"}
{"level":"error","message":"[1_9_World] Create tail on logs/latest.log failed","timestamp":"2016-03-03T21:30:12.771Z"}
{"level":"info","message":"[1_9_World] Watching for file generation: logs/latest.log","timestamp":"2016-03-03T21:30:12.771Z"}
{"level":"error","message":"[1_9_World] Create tail on server.log failed","timestamp":"2016-03-03T21:30:12.783Z"}
{"level":"info","message":"[1_9_World] Watching for file generation: server.log","timestamp":"2016-03-03T21:30:12.783Z"}
{"level":"error","message":"[1_9_World] Create tail on proxy.log.0 failed","timestamp":"2016-03-03T21:30:12.783Z"}
{"level":"info","message":"[1_9_World] Watching for file generation: proxy.log.0","timestamp":"2016-03-03T21:30:12.783Z"}
{"level":"info","message":"Starting up server, using commit: b49c634 changed dockerfile to debian jessie, added node\n","timestamp":"2016-03-03T21:30:12.845Z"}
{"date":"Thu Mar 03 2016 15:30:17 GMT-0600 (CST)","process":{"pid":493,"uid":0,"gid":0,"cwd":"/","execPath":"/usr/bin/node","version":"v5.7.1","argv":["/usr/bin/node","/usr/games/minecraft/webui.js","start"],"memoryUsage":{"rss":61865984,"heapTotal":37413664,"heapUsed":21027248}},"os":{"loadavg":[0.0478515625,0.111328125,0.05517578125],"uptime":335},"trace":[{"column":19,"file":"/usr/games/minecraft/mineos.js","function":null,"line":1513,"method":null,"native":false},{"column":34,"file":"/usr/games/minecraft/node_modules/async/lib/async.js","function":"fn","line":746,"method":null,"native":false},{"column":16,"file":"/usr/games/minecraft/node_modules/async/lib/async.js","function":null,"line":1213,"method":null,"native":false},{"column":37,"file":"/usr/games/minecraft/node_modules/async/lib/async.js","function":null,"line":166,"method":null,"native":false},{"column":43,"file":"/usr/games/minecraft/node_modules/async/lib/async.js","function":null,"line":706,"method":null,"native":false},{"column":37,"file":"/usr/games/minecraft/node_modules/async/lib/async.js","function":null,"line":167,"method":null,"native":false},{"column":30,"file":"/usr/games/minecraft/node_modules/async/lib/async.js","function":null,"line":1209,"method":null,"native":false},{"column":9,"file":"/usr/games/minecraft/mineos.js","function":null,"line":225,"method":null,"native":false},{"column":16,"file":"/usr/games/minecraft/node_modules/async/lib/async.js","function":null,"line":52,"method":null,"native":false},{"column":30,"file":"/usr/games/minecraft/node_modules/async/lib/async.js","function":null,"line":1209,"method":null,"native":false}],"stack":["TypeError: Cannot read property 'slice' of undefined","    at /usr/games/minecraft/mineos.js:1513:19","    at fn (/usr/games/minecraft/node_modules/async/lib/async.js:746:34)","    at /usr/games/minecraft/node_modules/async/lib/async.js:1213:16","    at /usr/games/minecraft/node_modules/async/lib/async.js:166:37","    at /usr/games/minecraft/node_modules/async/lib/async.js:706:43","    at /usr/games/minecraft/node_modules/async/lib/async.js:167:37","    at /usr/games/minecraft/node_modules/async/lib/async.js:1209:30","    at /usr/games/minecraft/mineos.js:225:9","    at /usr/games/minecraft/node_modules/async/lib/async.js:52:16","    at /usr/games/minecraft/node_modules/async/lib/async.js:1209:30"],"level":"error","message":"uncaughtException: Cannot read property 'slice' of undefined","timestamp":"2016-03-03T21:30:17.844Z"}

https://dl.dropboxusercontent.com/u/20743623/mineos.log

A few other weird tidbits.

  • I can get the ‘mc’ user to show up within the web UI “Group Owner” for MC instances. Although “root” is not on the drop-down list.

  • How do I make the firewall rules persistent between reboots in Arch Linux?

I cannot edit my above post due to the forum software freaking out. Forget about the MC Group not showing up within the UI group owner.

Hrm. That’s a weird oversight! I looked through the stack trace (the logs you provided) and it let me know where the crash was happening. Seems something I added recently to prevent an accidental query of MCPE seemingly wasn’t very robust code.

I just made a commit right now that should resolve this issue for you. Go ahead and update your webui and let me know if its fixed.

I’m still experiencing the web UI restarting. Slightly different systematic symptoms. I can no longer find anywhere in the web UI the MC server instance that was created. The profiles section no longer shows Available Server Jars/Packs for download. I’ve tried restarting the web UI. ‘systemctl start/stop mineos’

git_commit_ 08d2edcc935f6c752f2fcca44d5024c0b5b93f92 (this does not show up in the web UI obtained through the github hyperlink in web UI)

Stack trace

{"level":"info","message":"[1_9_World] Discovered server","timestamp":"2016-03-05T05:17:02.617Z"}
{"level":"error","message":"[1_9_World] Create tail on logs/latest.log failed","timestamp":"2016-03-05T05:17:02.619Z"}
{"level":"info","message":"[1_9_World] Watching for file generation: logs/latest.log","timestamp":"2016-03-05T05:17:02.619Z"}
{"level":"error","message":"[1_9_World] Create tail on server.log failed","timestamp":"2016-03-05T05:17:02.630Z"}
{"level":"info","message":"[1_9_World] Watching for file generation: server.log","timestamp":"2016-03-05T05:17:02.630Z"}
{"level":"error","message":"[1_9_World] Create tail on proxy.log.0 failed","timestamp":"2016-03-05T05:17:02.630Z"}
{"level":"info","message":"[1_9_World] Watching for file generation: proxy.log.0","timestamp":"2016-03-05T05:17:02.630Z"}
{"level":"info","message":"Starting up server, using commit: 08d2edc fixed issue: webui crash if missing jarfile\n","timestamp":"2016-03-05T05:17:02.693Z"}
{"level":"info","message":"[1_9_World] autostart = false","timestamp":"2016-03-05T05:17:07.683Z"}
{"level":"error","message":"[1_9_World] Aborted server startup; condition not met: true","timestamp":"2016-03-05T05:17:07.684Z"}
{"date":"Fri Mar 04 2016 23:17:18 GMT-0600 (CST)","process":{"pid":22634,"uid":0,"gid":0,"cwd":"/","execPath":"/usr/bin/node","version":"v5.7.1","argv":["/usr/bin/node","/usr/games/minecraft/webui.js","start"],"memoryUsage":{"rss":100278272,"heapTotal":57020448,"heapUsed":23112592}},"os":{"loadavg":[0.0029296875,0.0283203125,0.04541015625],"uptime":113723},"trace":[{"column":null,"file":null,"function":"Error","line":null,"method":null,"native":true},{"column":18,"file":"/usr/games/minecraft/node_modules/userid/lib/userid.js","function":"Object.exports.gid","line":39,"method":"exports.gid","native":false},{"column":19,"file":"/usr/games/minecraft/server.js","function":"","line":237,"method":null,"native":false},{"column":13,"file":"events.js","function":"emitOne","line":90,"method":null,"native":false},{"column":7,"file":"events.js","function":"Namespace.emit","line":182,"method":"emit","native":false},{"column":10,"file":"/usr/games/minecraft/node_modules/socket.io/lib/namespace.js","function":"Namespace.emit","line":205,"method":"emit","native":false},{"column":14,"file":"/usr/games/minecraft/node_modules/socket.io/lib/namespace.js","function":null,"line":172,"method":null,"native":false},{"column":9,"file":"node.js","function":"_combinedTickCallback","line":370,"method":null,"native":false},{"column":11,"file":"node.js","function":"process._tickCallback","line":401,"method":"_tickCallback","native":false}],"stack":["Error: groupname not found","    at Error (native)","    at Object.exports.gid (/usr/games/minecraft/node_modules/userid/lib/userid.js:39:18)","    at Namespace.<anonymous> (/usr/games/minecraft/server.js:237:19)","    at emitOne (events.js:90:13)","    at Namespace.emit (events.js:182:7)","    at Namespace.emit (/usr/games/minecraft/node_modules/socket.io/lib/namespace.js:205:10)","    at /usr/games/minecraft/node_modules/socket.io/lib/namespace.js:172:14","    at _combinedTickCallback (node.js:370:9)","    at process._tickCallback (node.js:401:11)"],"level":"error","message":"uncaughtException: groupname not found","timestamp":"2016-03-05T05:17:18.258Z"}
{"level":"info","message":"[1_9_World] Discovered server","timestamp":"2016-03-05T05:17:21.863Z"}
{"level":"error","message":"[1_9_World] Create tail on logs/latest.log failed","timestamp":"2016-03-05T05:17:21.864Z"}
{"level":"info","message":"[1_9_World] Watching for file generation: logs/latest.log","timestamp":"2016-03-05T05:17:21.864Z"}
{"level":"error","message":"[1_9_World] Create tail on server.log failed","timestamp":"2016-03-05T05:17:21.876Z"}
{"level":"info","message":"[1_9_World] Watching for file generation: server.log","timestamp":"2016-03-05T05:17:21.876Z"}
{"level":"error","message":"[1_9_World] Create tail on proxy.log.0 failed","timestamp":"2016-03-05T05:17:21.876Z"}
{"level":"info","message":"[1_9_World] Watching for file generation: proxy.log.0","timestamp":"2016-03-05T05:17:21.876Z"}
{"level":"info","message":"Starting up server, using commit: 08d2edc fixed issue: webui crash if missing jarfile\n","timestamp":"2016-03-05T05:17:21.937Z"}
{"level":"info","message":"[1_9_World] autostart = false","timestamp":"2016-03-05T05:17:26.926Z"}
'''{"level":"error","message":"[1_9_World] Aborted server startup; condition not met: true","timestamp":"2016-03-05T05:17:26.927Z"}

Can you check your /var/games/minecraft directories for any group ownership that no longer corresponds to an existing group?

Aha I figured it out thanks for your insight. A bit of background. So far I’ve been using ‘root’ to manage profiles and to create MC instance. Traditionally this is fine and I transfer ownership/permissions in the web UI for a server instance into an unprivileged user such as ‘mc’.

In my current set up is owned by ‘root’. When I login as user ‘mc’ I can duplicate the circumstances which lead to the error the above Stack trace. Correct me if I’m wrong I should be able to creates server instances as ‘mc’. Although managing profiles has to be done as ‘root’?

This leads me to believe that there might be something wrong with my permissions. I would not be surprised because Arch Linux has to be completely manually configured unlike Ubuntu. Ubuntu allows you to create during the initial install a unprivileged user such as ‘mc’. Which automatically creates the username and the group ‘mc’. I’m guessing when I created the user ‘mc’ in Arch Linux but not the group.

So looking under ‘Group Owner’ I don’t see ‘root’ or ‘mc’. which makes sense that my theory is correct about ‘mc’ but but not ‘root’ it has ‘root’ group. There’s still something goofy with ‘Group Owner’ logged in as ‘root’ for MC instance. The web UI says it’s owned by ‘root (0)’ if I change it to any other group the ownership does not update on the web UI. The dropbox menu stays a blank white. Yet when I check ownership using SFTP it’s correctly assigned to the group that I assigned the drop-down menu. if I log out and log back in the drop-down menu shows the correct group but the ‘Server Owner:’ still shows ‘root (0)’

{"level":"info","message":"[1_9_World] Discovered server","timestamp":"2016-03-05T14:11:03.739Z"}
{"level":"error","message":"[1_9_World] Create tail on logs/latest.log failed","timestamp":"2016-03-05T14:11:03.741Z"}
{"level":"info","message":"[1_9_World] Watching for file generation: logs/latest.log","timestamp":"2016-03-05T14:11:03.741Z"}
{"level":"error","message":"[1_9_World] Create tail on server.log failed","timestamp":"2016-03-05T14:11:03.752Z"}
{"level":"info","message":"[1_9_World] Watching for file generation: server.log","timestamp":"2016-03-05T14:11:03.752Z"}
{"level":"error","message":"[1_9_World] Create tail on proxy.log.0 failed","timestamp":"2016-03-05T14:11:03.752Z"}
{"level":"info","message":"[1_9_World] Watching for file generation: proxy.log.0","timestamp":"2016-03-05T14:11:03.752Z"}
{"level":"info","message":"Starting up server, using commit: 08d2edc fixed issue: webui crash if missing jarfile\n","timestamp":"2016-03-05T14:11:03.813Z"}
{"level":"info","message":"[1_9_World] autostart = false","timestamp":"2016-03-05T14:11:08.792Z"}
{"level":"error","message":"[1_9_World] Aborted server startup; condition not met: true","timestamp":"2016-03-05T14:11:08.792Z"}
{"level":"info","message":"[WEBUI] root connected from 192.168.1.122","timestamp":"2016-03-05T14:11:17.341Z"}
{"level":"info","message":"[WEBUI] Downloading official profiles.","timestamp":"2016-03-05T14:11:17.397Z"}
{"level":"info","message":"[1_9_World] root (192.168.1.122) joined server namespace","timestamp":"2016-03-05T14:11:17.779Z"}
{"level":"info","message":"[1_9_World] 192.168.1.122 issued command : \"chown\"","timestamp":"2016-03-05T14:11:24.031Z"}
{"level":"info","message":"[1_9_World] received request \"chown\"","timestamp":"2016-03-05T14:11:24.032Z"}


Any further thoughts on this Will?

From the wiki:

Creating Servers
Servers may only be created by unprivileged users, or in other words: not root. Be sure to log in as any unprivileged user to create any servers you wish and leverage group membership to share control of servers with others!

This is an issue I guess I’ve never run across, as root should pretty much never be needed–for any reason–to be logged into the webui.

There’s certainly a fix, and I think the quickest way would be to log in as root to ssh, and chown any root-owned servers to a non-root user. That should be enough maybe. I’ll have to see if I can recreate the problem on my end so I can figure out what Arch does differently with regard to group memberships.

Just to let you know I’ve been working on this issue. I basically started from scratch, to minimize user error when setting up Arch I utilized an ISO featuring a scripted guided install versus manual setup as before.

Now I’ve run into problems installing MinOS

When I use ‘cp /usr/games/minecraft/init/systemd_conf /etc/systemd/system/mineos.service systemctl enable mineos’

[root@MineOS]: /usr/games/minecraft># cp /usr/games/minecraft/init/systemd_conf /etc/systemd/system/mineos.service systemctl enable mineos
cp: target 'mineos' is not a directory

When I use ‘systemctl start mineos’

[root@MineOS]: /usr/games/minecraft># systemctl start mineos
    Failed to start mineos.service: Unit mineos.service not found.

I have a fresh up-to-date image of Arch untouched besides initial update of all the packages. What’s described above is 100% reproducible via restoring the image than trying to install mineos.

Should be:

cp /usr/games/minecraft/init/systemd_conf /etc/systemd/system/mineos.service
systemctl enable mineos

That’s embarrassing :confused:

On a completely fresh install I’ve reproduced what I’ve described above in the opening post. Logging in as MC. MC instances when created don’t appear in the web UI. Profiles don’t populate. Refresh the browser and it takes you back into the login page.

And the log reporting the same error then?

Well…The full log…
Curious because Arch updates on a rolling releases could those updates be breaking MineOS?

{“level”:“info”,“message”:“Starting up server, using commit: 1853741 fixed issue: crash when pocketmine returned html not json\n”,“timestamp”:“2016-03-18T16:35:47.773Z”}
{“date”:“Fri Mar 18 2016 10:36:07 GMT-0600 (CST)”,“process”:{“pid”:23031,“uid”:0,“gid”:0,“cwd”:"/",“execPath”:"/usr/bin/node",“version”:“v5.9.0”,“argv”:["/usr/bin/node","/usr/games/minecraft/webui.js",“start”],“memoryUsage”:{“rss”:50229248,“heapTotal”:22966560,“heapUsed”:16992664}},“os”:{“loadavg”:[0.0810546875,0.119140625,0.1279296875],“uptime”:905},“trace”:[{“column”:null,“file”:null,“function”:“Error”,“line”:null,“method”:null,“native”:true},{“column”:18,“file”:"/usr/games/minecraft/node_modules/userid/lib/userid.js",“function”:“Object.exports.gid”,“line”:39,“method”:“exports.gid”,“native”:false},{“column”:19,“file”:"/usr/games/minecraft/server.js",“function”:"",“line”:237,“method”:null,“native”:false},{“column”:13,“file”:“events.js”,“function”:“emitOne”,“line”:90,“method”:null,“native”:false},{“column”:7,“file”:“events.js”,“function”:“Namespace.emit”,“line”:182,“method”:“emit”,“native”:false},{“column”:10,“file”:"/usr/games/minecraft/node_modules/socket.io/lib/namespace.js",“function”:“Namespace.emit”,“line”:205,“method”:“emit”,“native”:false},{“column”:14,“file”:"/usr/games/minecraft/node_modules/socket.io/lib/namespace.js",“function”:null,“line”:172,“method”:null,“native”:false},{“column”:9,“file”:“node.js”,“function”:"_combinedTickCallback",“line”:376,“method”:null,“native”:false},{“column”:11,“file”:“node.js”,“function”:“process._tickCallback”,“line”:407,“method”:"_tickCallback",“native”:false}],“stack”:[“Error: groupname not found”," at Error (native)"," at Object.exports.gid (/usr/games/minecraft/node_modules/userid/lib/userid.js:39:18)"," at Namespace. (/usr/games/minecraft/server.js:237:19)"," at emitOne (events.js:90:13)"," at Namespace.emit (events.js:182:7)"," at Namespace.emit (/usr/games/minecraft/node_modules/socket.io/lib/namespace.js:205:10)"," at /usr/games/minecraft/node_modules/socket.io/lib/namespace.js:172:14"," at _combinedTickCallback (node.js:376:9)"," at process._tickCallback (node.js:407:11)"],“level”:“error”,“message”:“uncaughtException: groupname not found”,“timestamp”:“2016-03-18T16:36:07.821Z”}
{“level”:“info”,“message”:“Starting up server, using commit: 1853741 fixed issue: crash when pocketmine returned html not json\n”,“timestamp”:“2016-03-18T16:36:08.429Z”}

For the most part, no part of MineOS will ever use functionality that wasn’t offered in NodeJS LTS 4.0. If Arch is continuing to stay up-to-date on the non-long-term-support (by advancing the packages each minor version), there’s a possibility that could be causing the issue, but I don’t think that the API changes in 5.x should be breaking all that much…lots of people are aiming for 4.x compat.

On the other hand,

I suspect the issue lies here, and here only. Can you very the user you’re logging in as has a primary/secondary group?

In essence unlike Ubuntu and many other distro’s Arch does not automatically create a group based on the username.

cat /etc/passwd | cut -d “:” -f1
shows the user ‘mc’

cat /etc/group
Does not show ‘mc’ as a group

Solution
Create ‘mc’ group
groupadd mc

Add user ‘mc’ to ‘mc’ group
gpasswd -a mc mc

Everything works as expected.
Should a notation be made on the wiki?

Most distros do make a group for the user, as is the default for useradd(8)

USERGROUPS_ENAB (boolean)
… useradd will create by default a group with the name of the user.

Likely all Debians, Ubuntus and derivatives will be following this. Though FreeBSD, Arch (FreeBSD-inspired) may deviate. I’ll add this to the arch Wiki.

1 Like