blob: a6d147d73634fe4f8d59e7f33633bd71a95005c5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
MINECRAFT-WRAPPER
=================
Python server wrapper for extracting informations about server status and list of online players.
Requires:
-----------------
* Unix-like OS (preferred an only tested is Linux)
* Python3
* Dependencies for Minecraft server (Java)
Usage
-----------------
```
mcwrapper ACTION {IDENTIFIER} [args...]
This script is executing Minecraft server and reads its output. From output is extracted server
status and list of online players.
ACTION
start Starts server specified with IDENTIFIER. As arguments takes command line for starting
Minecraft server.
stop Sends stop command to Minecraf server specified with IDENTIFIER.
say Sends arguments to server chat as server message. Server is specified using IDENTIFIER.
IDENTIFIER
Identifier can be any word without spaces and preferably without special characters.
It is used for identifying server instances, so that multiple servers can run with
this wrapper on single system.
```
How it works
-----------------
Script is reading Minercraft server standard and error output. It's looking for
known lines that signals change of server output and players joining and leaving.
Minecraft server output is well designed for information parsing. Informations are
in default exported to folder /dev/shm/mcwrapper_IDENTIFIER where IDENTIFIER is
specified as argument to script. From now on will be replaced with *.
###Status file
This file is in default configuration in path `/dev/shm/mcwrapper_*/status`.
If it exists, it contains in what status is server in the moment.
Status can be:
* Starting
* Running
* Stopping
If file not exists, then server is not running at all.
###Players file
This file in in default configuration in path `/dev/shm/mcwrapper_*/players` If
server is running, it constains online players. Player name per line. If server
isn't runnint, it content don't have to be valid.
##Input pipe
This is unit pipe. In default configuration is in path
`/dev/shm/mcwrapper_*/input_pipe`. This pipe is input to Minercraft server
standard input. If you have write access rights (default 640), then you can send
any command to Minecraft server by writing to this pipe.
|