Closed yodatak closed 11 months ago
I can also provide the bootle extract and my server if need in private
Regarding the server logs: .xci is not a supported archive format, you are forcing it, so the errors are normal. If you want them to disappear in the log, tar the xci games.
True but .tar and .sh are supported but don't work
yeah i read, i just want to make sure its not a serverside issue, do you have any server error logs for downloading tars? The 500 Usually means its server side.
and .7z work for you for some reason?
Does Download not work at all or does extract not work? Whats the exact way to reproduce it?
I try to make a way to reproduce and produce server logs.
The 7z file that contain Windows portable game work And. Sh game in 7z works too but not uncompressed. Sh or compressed.. Sh I can provides some file to help to debug and add it to non regression test maybe? With GPL games?
Not really a game but a. Sh https://github.com/phyver/GameShell
I try today with https://supertuxkart.itch.io/supertuxkart And I will tell you the result
Ok so i restard my server and know tar zip and 7z work with config change but single .sh file not
my config of helm changes
gamevault:
server:
admin_user: XXX
admin_password: XXX
registration_disabled: false
account_activation_disabled: true
allowed_origins:
- "*"
log_level: info
games:
index_interval_in_minutes: 5
search_recursive: true
file_formats:
- ".7z"
- ".sh"
- ".tar"
- ".zip"
- ".xz"
- ".gz"
The client: and i got a 49,3 mo tar file corruped in my client folder
The server log
info: ┏ [28/Aug/2023:19:47:20 +0000] yodatak @ XXXX - GET /api/v1/games/12587 -> 200 - 77.684 ms - 731 - 'GameVault/1.4.1'
+1m
info: ┗ [1] { context: 'Morgan', timestamp: '2023-08-28T19:47:20.035Z' }
info: ┏ [28/Aug/2023:19:47:20 +0000] yodatak @ XXX - GET /api/v1/progresses/user/1/game/12587 -> 200 - 58.604 ms - - - 'GameVault/1.4.1'
+70ms
info: ┗ [1] { context: 'Morgan', timestamp: '2023-08-28T19:47:20.105Z' }
info: ┏ [28/Aug/2023:19:47:23 +0000] yodatak @ XXXX - GET /api/v1/games/12587/download -> 200 - 56.008 ms - - - 'GameVault/1.4.1'
2023-08-28T21:47:23.136340844+02:00 +2s
info: ┗ [1] { context: 'Morgan', timestamp: '2023-08-28T19:47:23.132Z' }
2023-08-28T21:47:23.136347912+02:00 error: ┏ Premature close +2ms
2023-08-28T21:47:23.136350625+02:00 error: ┃ [1] Error [ERR_STREAM_PREMATURE_CLOSE]: Premature close
error: ┃ [2] at new NodeError (node:internal/errors:405:5)
2023-08-28T21:47:23.136356128+02:00 error: ┃ [3] at ServerResponse.onclose (node:internal/streams/end-of-stream:159:30)
2023-08-28T21:47:23.136358583+02:00 error: ┃ [4] at ServerResponse.emit (node:events:526:35)
error: ┃ [5] at emitCloseNT (node:_http_server:1012:10)
2023-08-28T21:47:23.136363468+02:00 error: ┃ [6] at Socket.onServerResponseClose (node:_http_server:278:5)
error: ┃ [7] at Socket.emit (node:events:526:35)
2023-08-28T21:47:23.136368494+02:00 error: ┃ [8] at TCP.<anonymous> (node:net:337:12)
error: ┗ [9] { context: 'ExpressAdapter', timestamp: '2023-08-28T19:47:23.134Z' }
I reinstall the server and with latest gamevault client too and i got this error
2023-09-15T21:28:10.258591646+02:00 info: ┗ [1] { context: 'Morgan', timestamp: '2023-09-15T19:28:10.258Z' }
info: ┏ [15/Sep/2023:19:28:17 +0000] yodatak @ 10.42.0.1 - GET /api/v1/games/7/download -> 200 - 62.207 ms - - - 'GameVault/1.5.0'
2023-09-15T21:28:17.162172101+02:00 +2s
2023-09-15T21:28:17.162178224+02:00 info: ┗ [1] { context: 'Morgan', timestamp: '2023-09-15T19:28:17.161Z' }
error: ┏ Premature close +2ms
error: ┃ [1] Error [ERR_STREAM_PREMATURE_CLOSE]: Premature close
2023-09-15T21:28:17.164165537+02:00 error: ┃ [2] at new NodeError (node:internal/errors:405:5)
2023-09-15T21:28:17.164168235+02:00 error: ┃ [3] at ServerResponse.onclose (node:internal/streams/end-of-stream:159:30)
2023-09-15T21:28:17.164170921+02:00 error: ┃ [4] at ServerResponse.emit (node:events:526:35)
error: ┃ [5] at emitCloseNT (node:_http_server:1023:10)
2023-09-15T21:28:17.164176916+02:00 error: ┃ [6] at Socket.onServerResponseClose (node:_http_server:278:5)
error: ┃ [7] at Socket.emit (node:events:526:35)
2023-09-15T21:28:17.164185642+02:00 error: ┃ [8] at TCP.<anonymous> (node:net:337:12)
error: ┗ [9] { context: 'ExpressAdapter', timestamp: '2023-09-15T19:28:17.163Z' }
info: ┏ [15/Sep/2023:19:28:21 +0000] yodatak @ 10.42.0.1 - GET /api/v1/games/7/download -> 200 - 65.525 ms - - - 'GameVault/1.5.0'
2023-09-15T21:28:21.097533003+02:00 +2s
2023-09-15T21:28:21.097537325+02:00 info: ┗ [1] { context: 'Morgan', timestamp: '2023-09-15T19:28:21.096Z' }
error: ┏ Premature close +1ms
2023-09-15T21:28:21.099305388+02:00 error: ┃ [1] Error [ERR_STREAM_PREMATURE_CLOSE]: Premature close
2023-09-15T21:28:21.099308096+02:00 error: ┃ [2] at new NodeError (node:internal/errors:405:5)
error: ┃ [3] at ServerResponse.onclose (node:internal/streams/end-of-stream:159:30)
2023-09-15T21:28:21.099312206+02:00 error: ┃ [4] at ServerResponse.emit (node:events:526:35)
2023-09-15T21:28:21.099314178+02:00 error: ┃ [5] at emitCloseNT (node:_http_server:1023:10)
2023-09-15T21:28:21.099316707+02:00 error: ┃ [6] at Socket.onServerResponseClose (node:_http_server:278:5)
error: ┃ [7] at Socket.emit (node:events:526:35)
2023-09-15T21:28:21.099320652+02:00 error: ┃ [8] at TCP.<anonymous> (node:net:337:12)
error: ┗ [9] { context: 'ExpressAdapter', timestamp: '2023-09-15T19:28:21.098Z' }
{
"id": 7,
"created_at": "2023-09-15T19:24:01.251Z",
"updated_at": "2023-09-15T19:30:00.706Z",
"deleted_at": null,
"entity_version": 4,
"rawg_id": null,
"title": "XXXXXXX",
"rawg_title": null,
"version": null,
"release_date": null,
"rawg_release_date": null,
"cache_date": null,
"file_path": "/games/XXXX X XXXX XXXX Game.sh",
"size": "1889174654",
"description": null,
"box_image": {
"id": 7,
"created_at": "2023-09-15T19:24:37.641Z",
"updated_at": "2023-09-15T19:24:37.641Z",
"deleted_at": null,
"entity_version": 1,
"source": "https://www.metacritic.com/a/img/catalog/provider/6/12/6-1-854726-52.jpg",
"path": "/images/25eb2b33-f81d-494f-892d-8332a1a2be4f.jpeg",
"mediaType": null
},
"background_image": null,
"website_url": null,
"metacritic_rating": null,
"average_playtime": null,
"early_access": false,
"type": "UNDETECTABLE",
"progresses": [],
"publishers": [],
"developers": [],
"stores": [],
"tags": [],
"genres": []
}
when i do a curl from the api i download the game
curl --request GET \ ⬢ [fedora-toolbox:38]
--url https://XXXXXXXXXXXX/api/v1/games/7/download \
--header 'Authorization: Basic XXXXXg==' --output "/games/XXXX X XXXX XXXX Game.tar"
and the game works so i think its a client issue and not a server issue
Same think if i add a (2023)
{
"id": 84,
"created_at": "2023-09-15T19:45:00.426Z",
"updated_at": "2023-09-15T19:45:15.491Z",
"deleted_at": null,
"entity_version": 2,
"rawg_id": null,
"title": "Chef A Restaurant Tycoon Game",
"rawg_title": null,
"version": null,
"release_date": "2023-01-01T00:00:00.000Z",
"rawg_release_date": null,
"cache_date": null,
"file_path": "/games/Chef A Restaurant Tycoon Game (2023).sh",
"size": "1889174654",
"description": null,
"box_image": {
"id": 145,
"created_at": "2023-09-15T19:45:15.481Z",
"updated_at": "2023-09-15T19:45:15.481Z",
"deleted_at": null,
"entity_version": 1,
"source": "https://www.metacritic.com/a/img/catalog/provider/6/12/6-1-854726-52.jpg",
"path": "/images/5325097c-e0a5-482b-9987-ca3c8e1930a5.jpeg",
"mediaType": null
},
"background_image": null,
"website_url": null,
"metacritic_rating": null,
"average_playtime": null,
"early_access": false,
"type": "UNDETECTABLE",
"progresses": [],
"publishers": [],
"developers": [],
"stores": [],
"tags": [],
"genres": []
}
same with tar file
{
"id": 4,
"created_at": "2023-09-15T19:24:00.971Z",
"updated_at": "2023-09-15T19:24:32.156Z",
"deleted_at": null,
"entity_version": 2,
"rawg_id": null,
"title": "XXXXX .sh",
"rawg_title": null,
"version": null,
"release_date": "2022-01-01T00:00:00.000Z",
"rawg_release_date": null,
"cache_date": null,
"file_path": "/games/XXXX (2022).sh.tar",
"size": "416112640",
"description": null,
"box_image": {
"id": 4,
"created_at": "2023-09-15T19:24:32.149Z",
"updated_at": "2023-09-15T19:24:32.149Z",
"deleted_at": null,
"entity_version": 1,
"source": "https://cdn.cdkeys.com/700x700/media/catalog/product/b/r/broforce_pc_.jpg",
"path": "/images/e9fb5fa5-36f0-45b1-918f-da38eef1fa1c.jpeg",
"mediaType": null
},
"background_image": null,
"website_url": null,
"metacritic_rating": null,
"average_playtime": null,
"early_access": false,
"type": "UNDETECTABLE",
"progresses": [],
"publishers": [],
"developers": [],
"stores": [],
"tags": [],
"genres": []
}
it work with windows portable game and
{
"id": 27,
"created_at": "2023-09-15T19:24:02.496Z",
"updated_at": "2023-09-15T19:24:02.496Z",
"deleted_at": null,
"entity_version": 1,
"rawg_id": null,
"title": "XXXXX",
"rawg_title": null,
"version": null,
"release_date": "2022-01-01T00:00:00.000Z",
"rawg_release_date": null,
"cache_date": null,
"file_path": "/games/XXXX (2022).7z",
"size": "22803244",
"description": null,
"box_image": {
"id": 35,
"created_at": "2023-09-15T19:25:27.979Z",
"updated_at": "2023-09-15T19:25:27.979Z",
"deleted_at": null,
"entity_version": 1,
"source": "https://cdn2.steamgriddb.com/file/sgdb-cdn/thumb/83a51a02ec406357ff3bb54dd0937f6e.jpg",
"path": "/images/680cbfe4-fd41-4433-a703-556138d98f4b.jpeg",
"mediaType": null
},
"background_image": null,
"website_url": null,
"metacritic_rating": null,
"average_playtime": null,
"early_access": false,
"type": "WINDOWS_PORTABLE",
"progresses": [],
"publishers": [],
"developers": [],
"stores": [],
"tags": [],
"genres": []
}
It works with .sh and 7z file
{ "id": 2, "created_at": "2023-09-15T19:24:00.286Z", "updated_at": "2023-09-15T19:24:25.825Z", "deleted_at": null, "entity_version": 2, "rawg_id": null, "title": "XXXXXX .sh", "rawg_title": null, "version": null, "release_date": "2014-01-01T00:00:00.000Z", "rawg_release_date": null, "cache_date": null, "file_path": "/games/XXXXX (2014).sh.7z", "size": "1916924384", "description": null, "box_image": { "id": 2, "created_at": "2023-09-15T19:24:25.813Z", "updated_at": "2023-09-15T19:24:25.813Z", "deleted_at": null, "entity_version": 1, "source": "https://images.launchbox-app.com/234443bc-eb45-4ca7-91c4-0da4c6015176.png", "path": "/images/c0c548fd-e4fe-4322-989d-1deed61f94f1.png", "mediaType": null }, "background_image": null, "website_url": null, "metacritic_rating": null, "average_playtime": null, "early_access": false, "type": "UNDETECTABLE", "progresses": [], "publishers": [], "developers": [], "stores": [], "tags": [], "genres": [] }
I can give acces to my server if needed
Maybe its from mime type of the .sh i got that are file -i XXX.sh: application/octet-stream; charset=binary a .sh script without any game its update-wordpress.sh: text/x-shellscript; charset=us-ascii
maybe its this part https://github.com/Phalcode/gamevault-app/blob/c7c97c415f499bcc64691ca0398d446b30737e4f/gamevault/Helper/MimeTypeHelper.cs#L407C1-L407C37
what do you think ( any way to have a debug.exe file of gamevault to debug ? @Yelo420
The mime Type helper is currently only used when uploading images (as "MultipartFormDataContent"). In future updates it will also be used when you can upload games directly from client.
The downloader gets all the info about the file it should download from the request header (if the server sends it). If not available it takes the file path property from the game object as fallback.
I think the problem is that the fallback doesn't work either. But this would have to be looked at more closely.
For debugging you could build the debug build. It should spit out all necessary debug files (but don't know to what extent this is possible/practical on Linux/bottles).
Otherwise you could provide me with a severaccount as suggested above and I'll have a look at it as soon as I have time. :)
@yodatak Just mail us the server address and user & password for an admin account to contact@phalco.de
Alternatively you can dm us on Discord
i cannot compile on linux this app that why i ask thanks for your help !
we are currently looking into it via your server. we will come back to you asap
btw @yodatak the app is a .net 6 app which you can compile on linux using:
dotnet build gamevault.sln --configuration Release
@yodatak could you please try the latest phalcode/gamevault-backend:unstable
image and tell me if this solves the issue for you?
Thanks i try this image and i got the same error
image:
repository: phalcode/gamevault-backend
pullPolicy: IfNotPresent
tag: unstable@sha256:a8309a615d3d0c50aed4bfcbaf55c7a786814e931d7989392d66c90634a3aaba
btw @yodatak the app is a .net 6 app which you can compile on linux using:
dotnet build gamevault.sln --configuration Release
I cannot compile on linux sorry for french part ;)
Determining projects to restore... /usr/lib64/dotnet/sdk/6.0.121/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(90,5): error NETSDK1100: vous devez disposer de Windows pour générer des applications de bureau Windows. [/var/home/yodatak/Projets/public/gamevault-app/gamevault/gamevault.csproj]
ÉCHEC de la build.
/usr/lib64/dotnet/sdk/6.0.121/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(90,5): error NETSDK1100: vous devez disposer de Windows pour générer des applications de bureau Windows. [/var/home/yodatak/Projets/public/gamevault-app/gamevault/gamevault.csproj] 0 Avertissement(s) 1 Erreur(s)
I got the same issue even in activating
Thank you, we are currently analyzing the issue further, and we can already reproduce it.
This should be fixed in Backend v6 and Client v1.6. Please also name your files accordingly: https://gamevau.lt/docs/server-docs/structure
Describe the bug On linux in botle gamevault can't download big file because if failed to calculate and get 500 error
To Reproduce Steps to reproduce the behavior: 1 - Linux bootlde gamevault latest 2- try to download a tar file or xci or .sh
3- if you put the font in folder it crash at start 3- you got an error and it don't restart anymore
Screenshots
Desktop (please complete the following information):
server some log server
My gamevault helm install via flux