【问题标题】:How would I create something similar to the Minecraft Server Console in python3我将如何在 python3 中创建类似于 Minecraft 服务器控制台的东西
【发布时间】:2021-07-03 03:05:42
【问题描述】:

我正在处理一些网络问题,我希望服务器能够发出命令,即“停止”命令。这个想法是创建类似于我的世界服务器控制台的东西。问题是在使用线程时,仅使用print()input() 会出现一些问题

Image Minecraft 服务器控制台,以防你不明白我的意思。

我尝试研究了一些东西,但没有发现任何好处。我试图学习诅咒,但我不确定它会有多大帮助。我决定在进一步研究之前先询问堆栈溢出问题,然后再浪费时间进行研究(我已经尝试解决这个问题 2-3 天了)

有什么简单的方法吗?

【问题讨论】:

  • 我不明白您的问题是什么...您正在尝试将实际命令发送到 Minecraft 服务器,或者只是创建一个看起来像那?首先想到的是Love2D's simple example 如何联网。我知道它是 Lua,但你可以在 Python 中做类似的事情。
  • @Doyousketch2 对不起,我的错,我的意思是我想做一个类似于 Minecraft 服务器控制台的终端应用程序。

标签: python console-application


【解决方案1】:

我决定学习基本的诅咒。

我能够制作此测试代码并为我的应用程序进行修改

import curses,time
import curses.textpad

def main(screen):
    h,w = screen.getmaxyx()
    window = curses.newwin(h-2,w,0,0)
    window.scrollok(True)
    InputContainer = curses.newwin(1,w,h-1,0)
    inputWindow = curses.newwin(1,w-2,h-1,2)
    inputField = curses.textpad.Textbox(inputWindow,insert_mode=True)
    InputContainer.addstr('> ')
    window.addstr(0,0,"Console Application started\n")
    screen.refresh()
    InputContainer.refresh()
    window.refresh()
    running = True
    while running:
        rows, cols = screen.getmaxyx()
        userIn = inputField.edit()[0:-1]
        if userIn!="":
            if str(userIn)=="stop":
                running = False
            window.addstr(f"Command Issued: {userIn}\n")
        inputWindow.refresh()
        inputWindow.clear()
        window.refresh()

curses.wrapper(main)

您可以自己使用。

【讨论】:

    猜你喜欢
    • 2010-12-22
    • 1970-01-01
    • 2017-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多