-
Notifications
You must be signed in to change notification settings - Fork 71
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
Netcode issues while building, attached log. #3
Comments
Howdy! Judging by the log and warnings before the errors, it looks like you may be building this with dotnet tools and the Monogame framework in a non-Windows system. I will caution that this disassembly is based on the Windows Steam version of the game and may not be equivalent to the build for another platform, so there may be a non-trivial amount of work to get it to run in that context. For reference, this repo is based on using ILSpy 5.0.x targeting C# 7.3 and Visual Studio 2019 Community edition running under Windows 10. That disclaimer out of the way, these warnings are suspicious to me, since all of the errors involve an XNA framework type [edit: being used by the type that is actually providing the error]:
Although that type is located in the Microsoft.Xna.Framework assembly, which isn't listed as missing, so these warnings may be a non-issue. I'm unfamiliar with the Monogame framework and how it works as a substitute for XNA. Also, the first warning in the log states the project is trying to build under .NET Core, which may or may not lead to interesting differences:
I did try building using Sorry, not sure if any of this is helpful. Without access to your context, I'm just guessing at possibilities based on the log. [edit: I realize I may have been unclear now, but the build as given expects you to create a directory named lib in the root of the repository and put the libraries listed in the README in there. If you have the assemblies listed and you're getting these warnings, that may be why.] |
Hey! Thanks for the info. I have a couple of questions.
I downloaded the app through steam on linux, All errors seem to originate from this
Is it a problem with my This is my directory structure, which seems about right.
|
Interesting! I'm not sure why it would be missing on Linux. I've avoided poking the libraries as much as possible as I'm less sure there what's from Stardew Valley and what's a third-party product, which may have a far less permissive perspective on my doing something like this. It looks like Netcode.dll does have Stardew Valley specific extensions and is not just a separate product, so it may be in-house? I'll include it as a library project when I push the 1.5.1 update. I don't know that it'll fix your issue just being able to build it, but it will at least give you access to the code to try and make changes to get it to work. I should have that out here in a little bit, but if not, by sometime this weekend. |
Well, that went smoothly. Merged update, and Netcode library is now part of the build. Hope that does something for you. |
@veywrn Thanks! If I'm able to run it I'll upload steps or submit a PR, and maybe this repo can have a Using the I'm pretty sure that |
Hey! I am able to build it successfully. 🥳 Here is the build.log. However while running I'm running into issues 😭. This is the run.log.
So then I decompiled the I verified the architecture of my import os
import struct
import sys
def arch_of(dll_file):
with open(dll_file, 'rb') as f:
doshdr = f.read(64)
magic, padding, offset = struct.unpack('2s58si', doshdr)
# print magic, offset
if magic != b'MZ':
return None
f.seek(offset, os.SEEK_SET)
pehdr = f.read(6)
# careful! H == unsigned short, x64 is negative with signed
magic, padding, machine = struct.unpack('2s2sH', pehdr)
# print magic, hex(machine)
if magic != b'PE':
return None
if machine == 0x014c:
return 'i386'
if machine == 0x0200:
return 'IA64'
if machine == 0x8664:
return 'x64'
return 'unknown'
print(arch_of(sys.argv[1])) This is the log file when I only try to target the x86.log architecture by replacing <PropertyGroup Label="Globals">
<TargetFramework>netcoreapp3.1</TargetFramework> <--- [netcoreapp3.1 is net40 for linux]
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup> Thank you for your time! |
Nope, you're not missing anything that I can see. For the Windows side everything targets 32-bit as XNA is a 32-bit only framework. Monogame apparently relaxes that constraint and can target either 32- or 64-bit platforms. I can also confirm that all the libraries on my end return i386 using that script. I'm surprised that the |
I get this weird error while building in multiple places->
LOG: build.log
Can I resolve it in anyway?
The text was updated successfully, but these errors were encountered: