最MC论坛

标题: linux ubuntu下如何安装minecraft客户端forge[mc1.6.2] [打印本页]

作者: alecthree    时间: 2013-7-9 14:41
标题: linux ubuntu下如何安装minecraft客户端forge[mc1.6.2]
本帖最后由 alecthree 于 2013-7-9 15:22 编辑

[技巧]linux ubuntu下如何安装minecraft客户端forge[mc1.6.2]

在linux ubuntu 12.04 LTS 32bit版上测试的.用于minecraft linux版客户端1.6.2正式版.

以forge 9.10.0.779举例
首先,贴几个关键文件的写法

/home/你的名字/.minecraft/下launcher_profiles.json的写法.
  1. {
  2.   "profiles": {
  3.     "Forge": {
  4.       "authentication": {
  5.         "rememberMe": "false"
  6.       },
  7.       "name": "Forge",
  8.       "lastVersionId": "Forge9.10.0.779"
  9.     },
  10.     "(Default)": {
  11.       "authentication": {
  12.         "rememberMe": "false"
  13.       },
  14.       "name": "(Default)"
  15.     }
  16.   },
  17.   "selectedProfile": "(Default)",
  18.   "clientToken": ""
  19. }
复制代码
然后/home/你的名字/.minecraft/versions/1.6.2/下的1.6.2.json
  1. {
  2.   "id": "1.6.2",
  3.   "time": "2013-07-09T05:24:08+08:00",
  4.   "releaseTime": "2013-07-05T21:09:02+08:00",
  5.   "type": "release",
  6.   "minecraftArguments": "--username ${auth_player_name} --session ${auth_session} --version ${version_name} --gameDir ${game_directory} --assetsDir ${game_assets}",
  7.   "libraries": [
  8.     {
  9.       "name": "net.sf.jopt-simple:jopt-simple:4.5"
  10.     },
  11.     {
  12.       "name": "com.paulscode:codecjorbis:20101023"
  13.     },
  14.     {
  15.       "name": "com.paulscode:codecwav:20101023"
  16.     },
  17.     {
  18.       "name": "com.paulscode:libraryjavasound:20101123"
  19.     },
  20.     {
  21.       "name": "com.paulscode:librarylwjglopenal:20100824"
  22.     },
  23.     {
  24.       "name": "com.paulscode:soundsystem:20120107"
  25.     },
  26.     {
  27.       "name": "argo:argo:2.25_fixed"
  28.     },
  29.     {
  30.       "name": "org.bouncycastle:bcprov-jdk15on:1.47"
  31.     },
  32.     {
  33.       "name": "com.google.guava:guava:14.0"
  34.     },
  35.     {
  36.       "name": "org.apache.commons:commons-lang3:3.1"
  37.     },
  38.     {
  39.       "name": "commons-io:commons-io:2.4"
  40.     },
  41.     {
  42.       "name": "net.java.jinput:jinput:2.0.5"
  43.     },
  44.     {
  45.       "name": "net.java.jutils:jutils:1.0.0"
  46.     },
  47.     {
  48.       "name": "com.google.code.gson:gson:2.2.2"
  49.     },
  50.     {
  51.       "name": "org.lwjgl.lwjgl:lwjgl:2.9.0",
  52.       "rules": [
  53.         {
  54.           "action": "allow"
  55.         },
  56.         {
  57.           "action": "disallow",
  58.           "os": {
  59.             "name": "osx",
  60.             "version": "^10\\.5\\.\\d[        DISCUZ_CODE_1        ]quot;
  61.           }
  62.         }
  63.       ]
  64.     },
  65.     {
  66.       "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.0",
  67.       "rules": [
  68.         {
  69.           "action": "allow"
  70.         },
  71.         {
  72.           "action": "disallow",
  73.           "os": {
  74.             "name": "osx",
  75.             "version": "^10\\.5\\.\\d[        DISCUZ_CODE_1        ]quot;
  76.           }
  77.         }
  78.       ]
  79.     },
  80.     {
  81.       "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.0",
  82.       "rules": [
  83.         {
  84.           "action": "allow"
  85.         },
  86.         {
  87.           "action": "disallow",
  88.           "os": {
  89.             "name": "osx",
  90.             "version": "^10\\.5\\.\\d[        DISCUZ_CODE_1        ]quot;
  91.           }
  92.         }
  93.       ],
  94.       "natives": {
  95.         "linux": "natives-linux",
  96.         "windows": "natives-windows",
  97.         "osx": "natives-osx"
  98.       },
  99.       "extract": {
  100.         "exclude": [
  101.           "META-INF/"
  102.         ]
  103.       }
  104.     },
  105.     {
  106.       "name": "org.lwjgl.lwjgl:lwjgl:2.9.1-nightly-20130708-debug2",
  107.       "rules": [
  108.         {
  109.           "action": "allow",
  110.           "os": {
  111.             "name": "osx",
  112.             "version": "^10\\.5\\.\\d[        DISCUZ_CODE_1        ]quot;
  113.           }
  114.         }
  115.       ]
  116.     },
  117.     {
  118.       "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.1-nightly-20130708-debug2",
  119.       "rules": [
  120.         {
  121.           "action": "allow",
  122.           "os": {
  123.             "name": "osx",
  124.             "version": "^10\\.5\\.\\d[        DISCUZ_CODE_1        ]quot;
  125.           }
  126.         }
  127.       ]
  128.     },
  129.     {
  130.       "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1-nightly-20130708-debug2",
  131.       "rules": [
  132.         {
  133.           "action": "allow",
  134.           "os": {
  135.             "name": "osx",
  136.             "version": "^10\\.5\\.\\d[        DISCUZ_CODE_1        ]quot;
  137.           }
  138.         }
  139.       ],
  140.       "natives": {
  141.         "linux": "natives-linux",
  142.         "windows": "natives-windows",
  143.         "osx": "natives-osx"
  144.       },
  145.       "extract": {
  146.         "exclude": [
  147.           "META-INF/"
  148.         ]
  149.       }
  150.     },
  151.     {
  152.       "name": "net.java.jinput:jinput-platform:2.0.5",
  153.       "natives": {
  154.         "linux": "natives-linux",
  155.         "windows": "natives-windows",
  156.         "osx": "natives-osx"
  157.       },
  158.       "extract": {
  159.         "exclude": [
  160.           "META-INF/"
  161.         ]
  162.       }
  163.     }
  164.   ],
  165.   "mainClass": "net.minecraft.client.main.Main",
  166.   "minimumLauncherVersion": 4
  167. }
复制代码
然后/home/你的名字/.minecraft/versions/Forge9.10.0.779/下Forge9.10.0.779.json的写法
  1. {
  2.         "id": "Forge9.10.0.779",
  3.         "time": "2013-07-08T20:03:32-0700",
  4.         "releaseTime": "1960-01-01T00:00:00-0700",
  5.         "type": "release",
  6.         "processArguments": "username_session_version",
  7.         "minecraftArguments": "--username ${auth_player_name} --session ${auth_session} --version ${version_name} --gameDir ${game_directory} --assetsDir ${game_assets} --tweakClass cpw.mods.fml.common.launcher.FMLTweaker",
  8.         "minimumLauncherVersion": 2,
  9.         "libraries": [
  10.                 {
  11.                         "name": "net.minecraftforge:minecraftforge:9.10.0.779",
  12.                         "url": "http://files.minecraftforge.net/maven/"
  13.                 },
  14.                 {
  15.                         "name": "net.minecraft:launchwrapper:1.3",
  16.                         "serverreq": true
  17.                 },
  18.                 {
  19.                         "name": "org.scala-lang:scala-library:2.10.2",
  20.                         "url": "http://repo.maven.apache.org/maven2/",
  21.                         "comment": "Important for Forge, we add this",
  22.                         "serverreq": true
  23.                 },
  24.                 {
  25.                         "name": "org.scala-lang:scala-compiler:2.10.2",
  26.                         "url": "http://repo.maven.apache.org/maven2/",
  27.                         "comment": "Important for Forge, we add this",
  28.                         "serverreq": true
  29.                 },
  30.                 {
  31.                         "name": "org.ow2.asm:asm-all:4.1",
  32.                         "serverreq": true
  33.                 },
  34.                 {
  35.                         "name": "net.sf.jopt-simple:jopt-simple:4.5",
  36.                         "serverreq": true
  37.                 },
  38.                 {
  39.                         "name": "lzma:lzma:0.0.1",
  40.                         "serverreq": true
  41.                 },
  42.                 {
  43.                         "name": "com.paulscode:codecjorbis:20101023"
  44.                 },
  45.                 {
  46.                         "name": "com.paulscode:codecwav:20101023"
  47.                 },
  48.                 {
  49.                         "name": "com.paulscode:libraryjavasound:20101123"
  50.                 },
  51.                 {
  52.                         "name": "com.paulscode:librarylwjglopenal:20100824"
  53.                 },
  54.                 {
  55.                         "name": "com.paulscode:soundsystem:20120107"
  56.                 },
  57.                 {
  58.                         "name": "org.lwjgl.lwjgl:lwjgl:2.9.0"
  59.                 },
  60.                 {
  61.                         "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.0"
  62.                 },
  63.                 {
  64.                         "name": "argo:argo:2.25_fixed"
  65.                 },
  66.                 {
  67.                         "name": "org.bouncycastle:bcprov-jdk15on:1.47"
  68.                 },
  69.                 {
  70.                         "name": "com.google.guava:guava:14.0"
  71.                 },
  72.                 {
  73.                         "name": "org.apache.commons:commons-lang3:3.1"
  74.                 },
  75.                 {
  76.                         "name": "commons-io:commons-io:2.4"
  77.                 },
  78.                 {
  79.                         "name": "net.java.jinput:jinput:2.0.5"
  80.                 },
  81.                 {
  82.                         "name": "net.java.jutils:jutils:1.0.0"
  83.                 },
  84.                 {
  85.                         "name": "com.google.code.gson:gson:2.2.2"
  86.                 },
  87.                 {
  88.                         "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.0",
  89.                         "natives": {
  90.                                 "linux": "natives-linux",
  91.                                 "windows": "natives-windows",
  92.                                 "osx": "natives-osx"
  93.                         },
  94.                         "extract": {
  95.                                 "exclude": [
  96.                                         "META-INF/"
  97.                                 ]
  98.                         }
  99.                 },
  100.                 {
  101.                         "name": "net.java.jinput:jinput-platform:2.0.5",
  102.                         "natives": {
  103.                                 "linux": "natives-linux",
  104.                                 "windows": "natives-windows",
  105.                                 "osx": "natives-osx"
  106.                         },
  107.                         "extract": {
  108.                                 "exclude": [
  109.                                         "META-INF/"
  110.                                 ]
  111.                         }
  112.                 }
  113.         ],
  114.         "mainClass": "net.minecraft.launchwrapper.Launch"
  115. }
复制代码
-待续



作者: alecthree    时间: 2013-7-9 14:55
以上3个json文件写法主要是,万一json文件搞坏了.用上边的替换.

然后,你的linux ubuntu的下minecraft 1.6.2要能正常玩,路径在/home/你的名字/.minecraft/下

然后说一下安装forge.到forge官方网站http://www.minecraftforge.net,点files,下载forge安装包.
要对应minecraft客户端版本,比如支持minecraft 1.6.2的forge是,9.10.0.776版本起跳.
下载installer,不要下载universal,universal那个是给官方服务器上forge用的.1.6.1以后的forge客户端和1.5.2以前的安装方法不同了.不要一概而论.

比如你下的是minecraftforge-installer-1.6.2-9.10.0.779.jar是4.xMB的一个jar包.
不要解压缩.在该jar包,相同的文件夹下,写一个installforge.sh的脚本
其中写
#!/bin/bash
java -jar minecraftforge-installer-1.6.2-9.10.0.779.jar

然后把这个脚本,forge的安装jar文件都加运行权限.右击之,选属性,选权限选项卡,勾选运行以程序运行.

当然你的ubuntu linux要安装好java运行环境.这个自己网上搜一下技术教程吧.

然后运行脚本,会提示你安装到哪里,会自动找到你minecraft的文件夹.就选client即可.

然后确认,就装完了.

完了,用启动脚本启动客户端.

-待续
作者: alecthree    时间: 2013-7-9 15:02
本帖最后由 alecthree 于 2013-7-10 09:35 编辑

启动脚本的写法.启动脚本的.sh文件你放哪里都可以.但是最好放在/home/你的名字/下,保证够权限.
比如写一个startmc.sh作为挂forge的启动脚本.
  1. java -client -Xincgc -Xmx1G -Djava.library.path=/home/$USER/.minecraft/versions/1.6.2/1.6.2-natives -cp /home/$USER/.minecraft/libraries/net/minecraftforge/minecraftforge/9.10.0.779/minecraftforge-9.10.0.779.jar:/home/$USER/.minecraft/libraries/net/minecraft/launchwrapper/1.3/launchwrapper-1.3.jar:/home/$USER/.minecraft/libraries/org/scala-lang/scala-library/2.10.2/scala-library-2.10.2.jar:/home/$USER/.minecraft/libraries/org/scala-lang/scala-compiler/2.10.2/scala-compiler-2.10.2.jar:/home/$USER/.minecraft/libraries/org/ow2/asm/asm-all/4.1/asm-all-4.1.jar:/home/$USER/.minecraft/libraries/net/sf/jopt-simple/jopt-simple/4.5/jopt-simple-4.5.jar:/home/$USER/.minecraft/libraries/lzma/lzma/0.0.1/lzma-0.0.1.jar:/home/$USER/.minecraft/libraries/com/paulscode/codecjorbis/20101023/codecjorbis-20101023.jar:/home/$USER/.minecraft/libraries/com/paulscode/codecwav/20101023/codecwav-20101023.jar:/home/$USER/.minecraft/libraries/com/paulscode/libraryjavasound/20101123/libraryjavasound-20101123.jar:/home/$USER/.minecraft/libraries/com/paulscode/librarylwjglopenal/20100824/librarylwjglopenal-20100824.jar:/home/$USER/.minecraft/libraries/com/paulscode/soundsystem/20120107/soundsystem-20120107.jar:/home/$USER/.minecraft/libraries/org/lwjgl/lwjgl/lwjgl/2.9.0/lwjgl-2.9.0.jar:/home/$USER/.minecraft/libraries/org/lwjgl/lwjgl/lwjgl_util/2.9.0/lwjgl_util-2.9.0.jar:/home/$USER/.minecraft/libraries/argo/argo/2.25_fixed/argo-2.25_fixed.jar:/home/$USER/.minecraft/libraries/org/bouncycastle/bcprov-jdk15on/1.47/bcprov-jdk15on-1.47.jar:/home/$USER/.minecraft/libraries/com/google/guava/guava/14.0/guava-14.0.jar:/home/$USER/.minecraft/libraries/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar:/home/$USER/.minecraft/libraries/commons-io/commons-io/2.4/commons-io-2.4.jar:/home/$USER/.minecraft/libraries/net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar:/home/$USER/.minecraft/libraries/net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar:/home/$USER/.minecraft/libraries/com/google/code/gson/gson/2.2.2/gson-2.2.2.jar:/home/$USER/.minecraft/versions/Forge9.10.0.779/Forge9.10.0.779.jar net.minecraft.launchwrapper.Launch --version Forge9.10.0.779 --gameDir /home/$USER/.minecraft --assetsDir /home/$USER/.minecraft/assets --tweakClass cpw.mods.fml.common.launcher.FMLTweaker --username testuser
复制代码
最后testuser你可以改成你自己用户名.其中你注意到,forge相关的参数和变量和路径,都指向了对应的版本,大小写都不错.

如果是,启动原版1.6.2
可以用另外一个脚本.比如写一个start162.sh
  1. java -Xincgc -client -Xmx1G -Djava.library.path=/home/$USER/.minecraft/versions/1.6.2/1.6.2-natives -cp /home/$USER/.minecraft/libraries/net/sf/jopt-simple/jopt-simple/4.5/jopt-simple-4.5.jar:/home/$USER/.minecraft/libraries/com/paulscode/codecjorbis/20101023/codecjorbis-20101023.jar:/home/$USER/.minecraft/libraries/com/paulscode/codecwav/20101023/codecwav-20101023.jar:/home/$USER/.minecraft/libraries/com/paulscode/libraryjavasound/20101123/libraryjavasound-20101123.jar:/home/$USER/.minecraft/libraries/com/paulscode/librarylwjglopenal/20100824/librarylwjglopenal-20100824.jar:/home/$USER/.minecraft/libraries/com/paulscode/soundsystem/20120107/soundsystem-20120107.jar:/home/$USER/.minecraft/libraries/argo/argo/2.25_fixed/argo-2.25_fixed.jar:/home/$USER/.minecraft/libraries/org/bouncycastle/bcprov-jdk15on/1.47/bcprov-jdk15on-1.47.jar:/home/$USER/.minecraft/libraries/com/google/guava/guava/14.0/guava-14.0.jar:/home/$USER/.minecraft/libraries/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar:/home/$USER/.minecraft/libraries/commons-io/commons-io/2.4/commons-io-2.4.jar:/home/$USER/.minecraft/libraries/net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar:/home/$USER/.minecraft/libraries/net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar:/home/$USER/.minecraft/libraries/com/google/code/gson/gson/2.2.2/gson-2.2.2.jar:/home/$USER/.minecraft/libraries/org/lwjgl/lwjgl/lwjgl/2.9.0/lwjgl-2.9.0.jar:/home/$USER/.minecraft/libraries/org/lwjgl/lwjgl/lwjgl_util/2.9.0/lwjgl_util-2.9.0.jar:/home/$USER/.minecraft/versions/1.6.2/1.6.2.jar net.minecraft.client.main.Main --version 1.6.2 --gameDir /home/$USER/.minecraft --assetsDir /home/$USER/.minecraft/assets --username testuser
复制代码
最后的testuser也是你的游戏内用户名.可以改成别的.

这个脚本其实在原版起动器中,正常启动,控制台界面中是可以看到的.

但是注意启动脚本中,--session 参数我删除了.否则可能起不来.您有需要可以自己加.
然后-Djava.library.path=/home/$USER/.minecraft/versions/1.6.2/1.6.2-natives这指向的文件夹下应该是有linux版的6个so文件,是lwjgl 2.9.0的linux版库文件.没有的话,游戏客户端起不来,但是呢,如果用官方起动器可能会被删除.(官方起动器每次启动会自动生成一份,完了关闭游戏时候自动删掉)
你可以到http://www.lwjgl.org/download.php
下载对应的lwjgl 2.9.0库文件.解压,找linux版的部分,放到对应文件夹下,6个文件分别是
libjinput-linux64.so  
liblwjgl64.so  
libopenal64.so
libjinput-linux.so   
liblwjgl.so   
libopenal.so


启动脚本中那些指明的jar文件,如果缺失,也下载不了,可以找个懒人包,比如1.6.2的懒人包.一般里头的各种库文件都是全的,用懒人包里的替换过来.

另外如果有官方正版帐号,用正版登陆器启动,那就不用脚本启动了,也可以,不过现在正版登陆器启动一联网,有时老断,导致启动失败.或者以后如果有linux下的起动器,支持1.6.2,并且支持多profile,多版本并存的,用linux下的起动器也可以,这样也可以不用脚本启动游戏.

-待续

作者: alecthree    时间: 2013-7-9 15:12
本帖最后由 alecthree 于 2013-7-9 15:14 编辑

然后这样可能还不行.因为linux不是windows,会有很多权限问题.
/home/你的名字/.minecraft/versions下,
1.6.2和forge文件夹下的jar文件,你都要给运行权限,右击,选属性,选权限标签页,勾选运行权限.

然后/home/你的名字/.minecraft/libraries/net/minecraftforge/minecraftforge/下
的forge的jar文件,也要加运行权限.

/home/你的名字/.minecraft/libraries/net/minecraft/launchwrapper下的jar文件也最好加一下运行权限

然后启动脚本.sh文件本身,也要加运行权限.

-待续

作者: alecthree    时间: 2013-7-9 15:20
完了可能还不行.比如无法正常下载scala的库.
你到scala官方网站下载官方的完整库,2.10.2 stable版,大概30MB吧,然后解压,找到正确的库文件,改名放到游戏对应位置,这当然可以.
但是,金山快盘我也备了一份.

http://www.kuaipan.cn/file/id_15259731039879194.htm

这个下载中,已经带了
scala-compiler-2.10.2.jar,scala-library-2.10.2.jar
2个库文件.解压出来

scala-compiler-2.10.2.jar
放在
/home/你的名字/.minecraft/libraries/org/scala-lang/scala-compiler/2.10.2/下

scala-library-2.10.2.jar
放在
/home/你的名字/.minecraft/libraries/org/scala-lang/scala-library/2.10.2/下

然后再试试.因为这2个库文件加起来20MB以上,下载失败不新鲜.

-待续
作者: alecthree    时间: 2013-7-9 15:25
本帖最后由 alecthree 于 2013-7-9 15:34 编辑

完了,脚本启动,基本就能运行了.

然后,mod,如果是安装到游戏主程序jar文件中的,装到
/home/你的名字/.minecraft/versions/Forge9.10.0.779/Forge9.10.0.779.jar中.

如果是放到mods文件夹下的.放到/home/你的名字/.minecraft/mods/中

如果是放到coremods文件夹的mod文件,放到/home/你的名字/.minecraft/coremods/下.

再运行启动forge版本的启动脚本.

当然mod本身安装方法,还是要听从mod作者的说明.而且mod的版本要和minecraft客户端的版本以及安装的forge的版本相匹配.这个一般mod作者在原发布站点都会说明.

如果想玩原版,就用1.6.2的启动脚本启动游戏.

这样实现了.forge带mod版minecraft和原版minecraft 1.6.2客户端,并存.
-完-
作者: ifmissky    时间: 2013-7-10 10:56
各种看不懂,还是帮顶一下
作者: 猥丶琐的名字很    时间: 2013-7-28 08:45
看 不 懂~




欢迎光临 最MC论坛 (http://www.zuimc.com/) Powered by Discuz! X3.2