118async def create_server(server: ServerCreationData):
119
120 try:
121 sid, server = await manager.create_new_server(name=server.name, version=server.version,122 world_generation_settings=server.world_generation_settings)
123 except Exception as e:
124 return JSONResponse({
110async def get_available_versions():
111 return JSONResponse(
112 {
113 "available_versions": ["latest"] + list(manager.available_versions.available_versions.keys())114 }, 200)
115
116
250 await server.create_new_world(world_generation_settings.name, world_generation_settings.data)
251 except WorldExistsException:
252 return JSONResponse({"error": "A world with this name does already exist"})
253 asyncio.create_task(server.set_active_world(world_generation_settings.name, new=True))254 return JSONResponse({"message": "The new world will be created after restart"}, 202)
255
256
247 if not server:
248 return JSONResponse({"error": "Server not found"}, 404)
249 try:
250 await server.create_new_world(world_generation_settings.name, world_generation_settings.data)251 except WorldExistsException:
252 return JSONResponse({"error": "A world with this name does already exist"})
253 asyncio.create_task(server.set_active_world(world_generation_settings.name, new=True))
13import mc_server_interaction.paths
14from fastapi import FastAPI, WebSocket, UploadFile, File, APIRouter
15from fastapi.responses import JSONResponse, FileResponse, RedirectResponse
16from mc_server_interaction.exceptions import ServerRunningException, WorldExistsException 17from mc_server_interaction.manager import ServerManager
18from starlette.middleware.cors import CORSMiddleware
19
Line length greater than configured max_line_length
detected, defaults to 79 character. This limit can be configured docs