标签: minecraft

启动 Minecraft 时出现“拾取 _JAVA_OPTIONS:-Xmx512M”错误

我正在尝试使用以下设置启动 Minecraft:

-XX:MaxPermSize=512M -Xms4096M -Xmx4096M
Run Code Online (Sandbox Code Playgroud)

但我收到这个错误:

[19:19:13 INFO]: Client> Error occurred during initialization of VM
[19:19:13 INFO]: Client> Incompatible minimum and maximum heap sizes specified
[19:19:13 INFO]: Client> Picked up _JAVA_OPTIONS: -Xmx512M
[19:19:13 ERROR]: Game ended with bad state (exit code 1)
[19:19:13 INFO]: Deleting C:\Users\Phil\AppData\Roaming\.minecraft\versions\1.6.4 Forge9.11.1.953\1.6.4-Forge9.11.1.953-natives-13645892457185
[19:19:13 INFO]: Ignoring visibility rule and showing launcher due to a game crash
Run Code Online (Sandbox Code Playgroud)

我检查过,有人说这是由于Java环境设置造成的,但是,我检查过,Windows 8.1的环境设置中没有Java参数。

java launcher minecraft

3
推荐指数
1
解决办法
4万
查看次数

在 Java 中合并两个 Config.yml 文件?

在为我的 bukkit 插件编程时,我意识到我需要有自己的配置文件,以便我可以在文件中添加注释。我还需要能够更新配置(如果它已经创建并且是旧的)。

我最近还完成了一个简单的 jQuery 插件,我使用jQuery.extend并合并了两个设置数组。我想知道这在带有配置文件的 java 中是否可行。

我的问题:

Is there a way i can merge the new default config with the one the user already has? (Removing non-needed values or changing the names of the same strings)

问题的解释:

这是我可能拥有的示例 config.yml:

# Comment here....

myString: defaultString 

myBool: false

myList: 
  - Value
  - Value 2
Run Code Online (Sandbox Code Playgroud)

很简单。假设这是我的默认配置。插件已将此配置(如果尚未存在)复制到插件文件夹中。但是,这带来了一个问题:

What if i need to update my config? (Add/Remove a bool, string, etc.)

有一天,我说“我不再需要那个布尔值myBool”。我从默认的 config.yml 中删除它,配置看起来像这样:

# Comment here....

myString: defaultString …
Run Code Online (Sandbox Code Playgroud)

java yaml minecraft bukkit

3
推荐指数
1
解决办法
4238
查看次数

使用 CURL 进行 GET 请求

我的我的世界服务器程序遇到了这个令人讨厌的问题。当您尝试登录我的 minecraft 服务器时,我尝试从 minecraft.com 获得登录响应。一切都很好,设置像验证令牌密钥和共享秘密。

我只是无法获得使用 curl 的 get 请求:(

这就是我所拥有的:

    requestString.append("GET /session/minecraft/hasJoined?username=");
    requestString.append(player.Username);
    requestString.append("&");
    requestString.append("serverId=");
    requestString.append(player.loginHash);
    requestString.append(" HTTP/1.0\r\n");
    std::cout << requestString << std::endl;


    curl_easy_setopt(curl, CURLOPT_URL, "https://sessionserver.mojang.com");
    list = curl_slist_append(list, requestString.c_str());
    list = curl_slist_append(list, "User-Agent: MinecraftServerPP\r\n");
    list = curl_slist_append(list, "Connection: close\r\n");
    list = curl_slist_append(list, "\r\n");
    curl_easy_setopt(curl, CURLOPT_HTTPHEADER, list);
    curl_easy_setopt(curl, CURLOPT_CAINFO, "cacert.pem");

    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &_write_data);
    curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
    curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
Run Code Online (Sandbox Code Playgroud)

我从服务器得到了一个 ok,但不是包含我需要的数据的 json 对象。

c++ curl minecraft

3
推荐指数
1
解决办法
1万
查看次数

Windows ssh - 如何在断开连接后保持进程运行

我想通过 SSH(PHP 脚本)启动一个 java 进程(Minecraft 服务器)。并且在断开连接时它不应该关闭。

我正在使用适用于 Windows 和 64 位 Java 的 Bitvise SSH 服务器。我可以启动服务器,但是如果我与 ssh 服务器断开连接,那么 java 进程(Minecraft 服务器)就会停止。我试过 PUTTY 但同样的问题。

是否有用于 cmd 的命令,例如用于 Linux 的 screen 将进程置于后台?

谢谢。

ssh openssh minecraft

3
推荐指数
1
解决办法
4507
查看次数

Failed to apply plugin [id 'forge']

This is a continuation of this question My initial issue has been solved, but a new one came after.

Following the tutorial mentioned in it, having solved a few errors, I now get an error when I try to run .\gradlew tasks:

FAILURE: Build failed with an exception.

* Where:
Build file 'C:\Users\benji\MinecraftWorkspace\forge-1.7.10-10.13.4.1614-1.7.10-src\build.gradle' line: 18

* What went wrong:
A problem occurred evaluating root project 'forge-1.7.10-10.13.4.1614-1.7.10-src'.
> Failed to apply plugin [id 'forge']
   > You must set the Minecraft Version! …
Run Code Online (Sandbox Code Playgroud)

java gradle minecraft minecraft-forge

3
推荐指数
1
解决办法
8172
查看次数

DS_Store 文件使 Minecraft forge 崩溃

我正在尝试在 macOS 上的 eclipse 中制作一个 smimple mod,一切正常,直到我将纹理 .png 文件添加到游戏中,然后出现 DS_Store 错误,我几乎每一次都查看了有关此问题的内容,但没有任何效果,我知道您可以停止在 NAS 上创建 DS_Store 而不是在本地,我可以做些什么来解决这个问题?

[m[32m[23:15:59] [Forge Version Check/INFO] [ne.mi.fm.VersionChecker/]: [forge] Found status: BETA Current: 30.0.51 Target: 30.0.51
[m[32m[23:15:59] [Forge Version Check/INFO] [ne.mi.fm.VersionChecker/]: [testmod] Starting version check at http://myurl.me/
[m[33m[23:16:00] [Forge Version Check/WARN] [ne.mi.fm.VersionChecker/]: Failed to process update information
java.io.IOException: Server returned HTTP response code: 400 for URL: http://myurl.me/
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_231] {}
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_231] {}
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_231] {}
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_231] {}
    at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1950) ~[?:1.8.0_231] {} …
Run Code Online (Sandbox Code Playgroud)

java eclipse macos minecraft

3
推荐指数
1
解决办法
545
查看次数

Ubuntu Minecraft 服务器 java.lang.ClassCastException: class jdk.internal.loader.ClassLoaders$AppClassLoader

我正在尝试运行我的修改后的 mc 服务器。它可以在 windows 上运行,但是当我尝试在 ubuntu 上运行它时,它给了我这个错误:

    saif@Saif-Ubuntu:~/Desktop/Minecraft Server$ java -Xmx2048M -Xms2048M -jar forge-1.12.2- 
14.23.5.2854.jar
A problem occurred running the Server launcher.java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at net.minecraftforge.fml.relauncher.ServerLaunchWrapper.run(ServerLaunchWrapper.java:70)
    at net.minecraftforge.fml.relauncher.ServerLaunchWrapper.main(ServerLaunchWrapper.java:34)
Caused by: java.lang.ClassCastException: class jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to class java.net.URLClassLoader (jdk.internal.loader.ClassLoaders$AppClassLoader and java.net.URLClassLoader are in module java.base of loader 'bootstrap')
    at net.minecraft.launchwrapper.Launch.<init>(Launch.java:34)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    ... 6 more
Run Code Online (Sandbox Code Playgroud)

我尝试了 uding jdk 11 和 jdk 8,但我只能说这两种方法都不起作用。有人知道我可以尝试什么吗?

java ubuntu minecraft minecraft-forge

3
推荐指数
2
解决办法
2万
查看次数

如何使用 Fabric 获取 Minecraft 路径

我有一个 mod 想要读取splits.ymlminecraft 目录中的文件,其中包含其他配置(config.txt 等)。我不知道我会怎么做。我的第一个想法是使用 Mixin

@Mixin(GameOptions.class)
public class GameOptionsMixin {
    @Shadow @Final private File optionsFile;

    @Inject(method = "load", at = @At("RETURN"))
    private void load(CallbackInfo info) {
        File splits = new File(optionsFile.getParent(), "splits.yml");    
    }
}
Run Code Online (Sandbox Code Playgroud)

但我不知道如何提取价值。我也不相信该文件夹会是.minecraft因为许多结构用户使用 MultiMC。

java minecraft minecraft-fabric

3
推荐指数
1
解决办法
1751
查看次数

使用 .mcfunction 文件时如何设置延迟?

我正在尝试制作一张像新的“我们之中”游戏那样的地图,但我遇到了一个问题:我无法在命令之间进行延迟。

我自己尝试过,但改为查找教程,但它们仅适用于 Minecraft Java 版。我尝试了很多方法,例如使用记分板命令,但它使用重复命令,而您无法在 mcfunction 文件中执行这些命令。我还尝试过创建一个设置延迟的命令,但由于它是“自定义”命令,所以我无法在 .mcfunction 文件中使用它。

function minecraft minecraft-commands

3
推荐指数
1
解决办法
4713
查看次数

java.lang.NoClassDefFoundError:jdk/nashorn/api/scripting/NashornScriptEngineFactory

我想在 1.16.3 中编写 Minecraft mod。我已经在1.12.2中制作了一个mod,但我没有遇到这个问题。我只是下载 1.16.3 forge Mdk 并为 eclipse 构建它(在 cmd 中使用“gradlew eclipse”),但是当我尝试运行 mod(使用“runClient.launch”)时。它给出了一个错误:

java.lang.NoClassDefFoundError:jdk/nashorn/api/scripting/NashornScriptEngineFactory。

我尝试修改主文件和包以支持不必要的代码,但是当我开始时。它给了我同样的错误。

我的主要文件:

package fr.luzog78.newmod;

import net.minecraft.block.Blocks;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

@Mod("newmod")
public class NewMod {
    private static final Logger LOGGER = LogManager.getLogger();

    public NewMod() {
        FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
        FMLJavaModLoadingContext.get().getModEventBus().addListener(this::doClientStuff);

        MinecraftForge.EVENT_BUS.register(this);
    }

    private void setup(final FMLCommonSetupEvent event) {
        LOGGER.info("HELLO FROM PREINIT");
        LOGGER.info("DIRT BLOCK >> {}", Blocks.DIRT.getRegistryName());
    }

    private void doClientStuff(final FMLClientSetupEvent event) {
    }

//    @SubscribeEvent
// …
Run Code Online (Sandbox Code Playgroud)

java eclipse noclassdeffounderror minecraft minecraft-forge

3
推荐指数
1
解决办法
1万
查看次数