Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Building Boardwalk 2.0 #364

Open
ayunami2000 opened this issue Jan 25, 2020 · 23 comments
Open

Building Boardwalk 2.0 #364

ayunami2000 opened this issue Jan 25, 2020 · 23 comments

Comments

@ayunami2000
Copy link

I just got all the different parts of Boardwalk 2.0 set up. In the README it says that only your computer can build it currently. Is there a way for me to build what I have? Here's what I've got so far (I'm kiiiinda new-ish and some of this stuff may be a little rough) https://github.com/ayunami2000/Boardwalk-boardwalk-2.0/invitations

@zhuowei
Copy link
Owner

zhuowei commented Jan 26, 2020

I don't remember how to build it anymore either. (I started 2.0 in 2015, gave up, worked for a week in 2018, gave up again, and so I'd forgotten.)

Boardwalk 2 doesn't work yet (I haven't finished the LWJGL3 port yet, so it won't launch 1.13 and later, and I don't know how to build the LWJGL2 anymore, so I can't get 1.12 and older versions working either); there's probably no point in trying to get it to work.

if I get it working, I'll setup automated builds.

For now

I had trouble building this; I couldn't even build unmodified LWJGL3 on my computer. I tried ant compile-templates release and it gave me an error about modules.

I'm so sorry about this.

@ayunami2000
Copy link
Author

ayunami2000 commented Jan 26, 2020

I already added those libraries into it, that's why I have a separate repo. I actually just built it and it did compile to an APK though, but it keeps saying package format error (I probably have too old of devices) But I don't know if my APK is gonna run at all.

https://github.com/ayunami2000/Boardwalk-boardwalk-2.0/blob/master/app-debug.apk

@miguelmazetto
Copy link

miguelmazetto commented Jan 29, 2020

If i do remember correctly i Also tried this,with a Lot of repo fixes i dont rememember anymore,i got the app to the point where i Can launch the game,but nothing happens. Btw: written on a phone

@miguelmazetto
Copy link

miguelmazetto commented Jan 29, 2020

I think It would be better to start from Scratch, this app is something that a looooot of people would want, because everyone has a phone, but not all of them have a computer. And the pocket edition it's Just disapointing, the inability to play with people and with mods from Java versions makes me pretty Far from even buying the pocket edition version.

@miguelmazetto
Copy link

I already added those libraries into it, that's why I have a separate repo. I actually just built it and it did compile to an APK though, but it keeps saying package format error (I probably have too old of devices) But I don't know if my APK is gonna run at all.

https://github.com/ayunami2000/Boardwalk-boardwalk-2.0/blob/master/app-debug.apk

If you're using older devices you might want to lower the minimum Android sdk requirement.

@KdotDevelopment
Copy link

ayunami2000

You deleted that link, could you put the debug-apk back? I have newer devices to test it on (Android 8, Samsung S7)

@ayunami2000
Copy link
Author

ayunami2000 commented Feb 1, 2020 via email

@KdotDevelopment
Copy link

I was able to open the apk and login to my mc account, but an error tells me it cannot find boardwalk/gamedir/versions/1.12.2/1.12.2.json

This makes me believe it doesnt actually download the files to make it run.

@andris155
Copy link

andris155 commented Feb 1, 2020

@KdotDevelopment set to allow storage permission for Boardwalk 2.0

@KdotDevelopment
Copy link

KdotDevelopment commented Feb 1, 2020

You can actually get around this if you have the time. Download the .json directly from http://s3.amazonaws.com/Minecraft.Download/versions/1.12.2/1.12.2.json

You can then put that file into a folder in boardwalk/gamedir/versions/1.12.2

The next problem you will run into is that it cannot get options.txt. I am currently working on this

Edit: I got that link from one of the .java files in the downloader folder. A little digging in the source code of boardwalk and you will find them

@KdotDevelopment
Copy link

KdotDevelopment commented Feb 1, 2020

I allowed storage permissions. I added an empty options.txt, and it actually worked... kinda. It launched a black screen, but I waited quite a while and nothing happened. I dont have a 1.12.2 options.txt file, so I copied someones from the internet from like 2014. If you guys have a 1.12.2 options.txt or any other solutions, please share :)

It seems to show a black screen for other versions too

@KdotDevelopment
Copy link

KdotDevelopment commented Feb 1, 2020

Exception in thread "main" java.lang.ClassCastException: java.base/jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to java.base/java.net.URLClassLoader
at net.minecraft.launchwrapper.Launch.(Launch.java:24)
at net.minecraft.launchwrapper.Launch.main(Launch.java:18)

Found in log_boardwalk2.txt
All versions cause a black screen

If you guys have a solution for this please share 'em. My device is a Samsung Galaxy S7, Android 8.0.0

@ayunami2000
Copy link
Author

Ok, I have made the repository public: https://github.com/ayunami2000/Boardwalk-boardwalk-2.0
You can download it as ZIP and extract (or clone it to a folder) and open the entire repository folder with Android Studio. There you can try fixing it.

@zhuowei
Copy link
Owner

zhuowei commented Feb 1, 2020

I'm also trying to rebuild the 2.0 branch: I think? I got it back to the state I left it in 2018: it once again gets far enough to crash after calling Minecraft's main method.

https://gist.github.com/zhuowei/13d04008a20a65c2ffacf7fed77874bd

https://drive.google.com/open?id=1gfzAjBkPFp1bv4CSRVApMG2nO5v4t5rA<- DOES NOT WORK, DON'T INSTALL THIS

https://github.com/zhuowei/Boardwalk/tree/i-am-a-bad-programmer is the wip branch for attempting to get 1.15.2 to work.

Here's what I did:

  • Updated to LWJGL 3.2.3 (the old version used 3.1.6)

  • put stuff in app/src/main/assets:

  • busybox - copied from existing assets dir

  • jre.tar.xz - built from https://github.com/BoardwalkApp/boardwalk2-openjdk-build

  • lwjgl3.tar.xz - built from repacklwjgl3/repack.sh. Note that this is a completely unmodified LWJGL 3.2.3.

  • lwjgl_override.jar - built from running lwjgl3override/build.sh

  • options.txt - copied from existing assets dir

  • run it once - it won't even start

  • add storage permission by hand

  • Manually extracted lwjgl3.tar.xz and jre.tar.xz into /data/data/net.zhuoweizhang.boardwalk.charm/app_runtime/lwjgl3 and /data/data/net.zhuoweizhang.boardwalk.charm/app_runtime/jvm. (The busybox I used broke sometime over the last two years; I'll fix this by rewriting using a pure-Java tar.xz extractor)

  • run it again on 1.15.2; it crashes where I expected it to

I need to document this somewhere...

@artdeell
Copy link

artdeell commented Feb 5, 2020

I think Gl4ES does not support framebuffers. Try to build LWJGL 2 and add it to build. This will get able 1.12.2 running with decent perfomance(boardwalk 1.2 wasn't able to run it because dx runs out of memory on fastutil library convertation)

@xxxxmlg69xxxx
Copy link

Any updates? I and a lot of people'd be sad if it dies or something you know...

@Gouster4
Copy link

Gouster4 commented Mar 27, 2020

Im also waiting for working build instructions.
Even if project died (doesnt seems so), i would like to modify and compile old code.

@by-scott
Copy link

by-scott commented Apr 5, 2020

I'm also trying to rebuild the 2.0 branch: I think? I got it back to the state I left it in 2018: it once again gets far enough to crash after calling Minecraft's main method.

https://gist.github.com/zhuowei/13d04008a20a65c2ffacf7fed77874bd

https://drive.google.com/open?id=1gfzAjBkPFp1bv4CSRVApMG2nO5v4t5rA<- DOES NOT WORK, DON'T INSTALL THIS

https://github.com/zhuowei/Boardwalk/tree/i-am-a-bad-programmer is the wip branch for attempting to get 1.15.2 to work.

Here's what I did:

  • Updated to LWJGL 3.2.3 (the old version used 3.1.6)
  • put stuff in app/src/main/assets:
  • busybox - copied from existing assets dir
  • jre.tar.xz - built from https://github.com/BoardwalkApp/boardwalk2-openjdk-build
  • lwjgl3.tar.xz - built from repacklwjgl3/repack.sh. Note that this is a completely unmodified LWJGL 3.2.3.
  • lwjgl_override.jar - built from running lwjgl3override/build.sh
  • options.txt - copied from existing assets dir
  • run it once - it won't even start
  • add storage permission by hand
  • Manually extracted lwjgl3.tar.xz and jre.tar.xz into /data/data/net.zhuoweizhang.boardwalk.charm/app_runtime/lwjgl3 and /data/data/net.zhuoweizhang.boardwalk.charm/app_runtime/jvm. (The busybox I used broke sometime over the last two years; I'll fix this by rewriting using a pure-Java tar.xz extractor)
  • run it again on 1.15.2; it crashes where I expected it to

I need to document this somewhere...

你好,我需要你的帮助。我完成了所有步骤,但是log_boardwalk2.txt输出error: Backend API: ERROR UnsatisfiedLinkError: /storage/emulated/0/boardwalk/gamedir/lwjgl/3.2.3-build-13/liblwjgl.so: dlopen failed: library "/storage/emulated/0/boardwalk/gamedir/lwjgl/3.2.3-build-13/liblwjgl.so" needed or dlopened by "/data/data/net.zhuoweizhang.boardwalk/app_runtime/jvm/lib/server/libjvm.so" is not accessible for the namespace "classloader-namespace"这是否是Android N的问题?我该如何解决?谢谢:D

@ayunami2000
Copy link
Author

@by-scott maybe try to copy the files it errors from into those folders and then running the game?

@by-scott
Copy link

by-scott commented Apr 6, 2020

@by-scott maybe try to copy the files it errors from into those folders and then running the game?

这个文件(boardwalk/gamedir/lwjgl/3.2.3-build-13/liblwjgl.so)是存在的。我尝试过将32位或64位的liblwjgl.so替换到那个位置但仍然无法运行。而且APP会自动将app_runtime/lwjgl3/lwjgl-natives-linux-arm32.jar里的lwjgl.so复制到boardwalk/gamedir/lwjgl/3.2.3-build-13/liblwjgl.so,即使人为删除或替换也会重新自动替换。我不明白为什么,在源码中也没有找到相关内容。
但是仍然感谢你的帮助:D

@Soul-Void
Copy link

Idk if this has been abandoned or not but it sure looks really cool.
Anyway, I'm new to this and currently have next to no knowledge of the skills to do what y'all are doing, but I'm a quick study and willing to learn to try and help with this project or one similar to it. My laptop literally crapped out today, so I couldn't write or compile anything if I needed to, but I do have a really powerful phone if that helps any. I noticed some comments about programs running out of memory, and I happen to have a rooted OnePlus 7 Pro 12g ram 256g rom, so I believe I've more than enough horsepower.
TL;DR I have a kick-ass phone and I'm willing to help, just tell me what to do. I only lack a PC for now :)

@szarik001
Copy link

I believe the memory problem isn't caused by the phone's hardware but rather a limit Android places on apps. From what I know this can't be easily changed.

@Soul-Void
Copy link

I see what you mean. I started messing with mcinabox and the issue seems to lie in that android is limiting ram, and past that, 32bit Java for mc limits max ram to 2gb, which sucks. Max I can allocate on mcinabox is 950 without instant crash.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests