Nova-Client/Solar/Solar (1.7.10)/runtime/startserver.py
2023-03-19 19:32:58 +00:00

50 lines
1.5 KiB
Python

# -*- coding: utf-8 -*-
"""
Created on Fri Apr 8 16:54:36 2011
@author: ProfMobius
@version: v1.0
"""
import sys
import logging
import json
from optparse import OptionParser
from commands import Commands, SERVER
def main():
parser = OptionParser(version='MCP %s' % Commands.fullversion())
parser.add_option('-c', '--config', dest='config', help='additional configuration file')
parser.add_option('-m', '--main', dest='mainclass', help='Main class to start', default='net.minecraft.server.MinecraftServer')
parser.add_option('-j', '--json', dest='json',action='store_true', help='Use the json file to setup parameters', default=False)
options, _ = parser.parse_args()
startserver(options.config, options.mainclass, options.json)
def startserver(conffile, mainclass, jsonoverride):
try:
commands = Commands(conffile)
#if not mainclass:
# mainclass = "net.minecraft.server.MinecraftServer"
extraargs = ""
if jsonoverride:
jsonData = json.load(open(commands.jsonFile))
mainclass = jsonData['mainClass']
extraargs = jsonData['minecraftArguments']
if not commands.checkbins(SERVER):
commands.logger.warning('!! Can not find server bins !!')
sys.exit(1)
commands.startserver(mainclass, extraargs)
except Exception: # pylint: disable-msg=W0703
logging.exception('FATAL ERROR')
sys.exit(1)
if __name__ == '__main__':
main()