Comments (7)
Hi, this was the case in version 2. The EMSM needs to know how it can interact with a server. A problem in v2 was, that the vanilla server used another stop
command than bungeecord. Another problem was, that the log files had different names. So the EMSM will always need a compatible ServerWrapper subclass for a server to work.
But I don't want so say no to your proposal, since it is a problem to keep the EMSM up to date easily. So, what would you like to be able configure exactly?
from emsm.
You could make the ServerWrapper a plugin and allow dynamic loading of wrappers. So you could have a folder server-wrappers/ and inside multiple classes that define the different wrappers.
This way users who can program python can easly add new wrappers and the main code does not need to be modified. Also this way you get around the compatibility problem with bungeecord for example.
from emsm.
I could extend the server manager, so that users can add their own server wrappers or overwrite exiting. Then the user could simply write a plugin which registers the new server wrapper subclasses.
Unfortunetly, I don't have much time at the moment and I don't know, when I can make those changes. Perhaps next weekend.
from emsm.
Sounds great!
from emsm.
With 385ab4c I added everything mentioned before. So you can add your own server wrapper now in a plugin module:
#!/usr/bin/python3
import emsm
PLUGIN = "MyServerAdder"
class MyServer(emsm.server.BaseServerWrapper):
@classmethod
def name(self):
return "my server wrapper"
def install(self):
pass
# You must define all other *virtual* methods of BaseServerWrapper
# So ...
class MyServerAdder(emsm.base_plugin.BasePlugin):
# We don't need a command line interface.
HIDDEN = True
def __init__(self, app, name):
super().__init__(app, name)
app.server().add(MyServer)
return None
from emsm.
For the future it may be wise to add an update method for the EMSM itself or to allow special server configurations for each world. But these would be bigger changes.
I hope this patch works for you at the moment.
from emsm.
Awesome thank you for the implementation!
from emsm.
Related Issues (20)
- Unable to upgrade Forge 1.6 using EMSM 5.0.7b0 HOT 3
- Version-number confusion HOT 1
- How to install mods in Forge 1.12? HOT 1
- Still active? HOT 1
- Specific spigot version? HOT 2
- Plugin install not working (error paths has no plugins_dir argument) HOT 1
- server plugin installs 1.12.1; won't install 1.12.2 HOT 3
- deleted
- Forge worlds won't start after upgrade to Debian 9 HOT 5
- Guard plugin won't restart worlds after upgrade to Debian 9 HOT 1
- emsm fails with JSON Decoder error HOT 1
- Latest version of Forge is 1.12; should be 1.15 HOT 1
- Latest version of Vanilla is v1.13 ; should be v1.15
- Transfer of maintenance HOT 8
- Cloudron apps HOT 1
- spigot is at 1.16 now
- vanilla 1.16 missing HOT 1
- Request: Make it easier for end users to add servers HOT 1
- Drop support for old versions of Python HOT 1
- Drop old minecraft version support HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from emsm.