CodeWalker API v1.1.0
975
8
975
8
Changelogs
v1.1.0
-import-xml endpoint changed to import (supports importing raw files into RPF archives as well)
-replace-file endpoint added
-JSON support (form still is supported)
-reuses RpfMan from CodeWalker.Core better.
NOTE: if you use codewalker_sollumz_bridge, update to v1.1.0.
v1.0.35
-Fixes an issue with YFT having non existent/missing textures, would not timeout the request, now safely returns textures.
v1.0.34
-Fixes an issue where shared textures not being exported.
v1.0.33
-Added support for replace-file endpoint (BROKEN, DOES NOT EXPORT SHARED TEXTURES, TO BE REMOVED)
v1.0.32
-Preheating caches for faster usage once loaded.
v1.0.31
-Supporting YDR/YFT without textures.
CodeWalker API
A .NET 9 web API that allows extracting, converting, and interacting with GTA V assets using CodeWalker libraries.
Download and Install
You can download the latest pre-built release from the Releases page. No need to build manually - just extract and run.
Configuration
The API reads its settings from an appsettings.json file. You can override locally using appsettings.Development.json.
Running the API
Simply run the CodeWalker API executable. By default, it starts on port 5555.
Features
Usage
You can interact with the API via Swagger UI or regular HTTP requests.
Examples and Documentation
See GitHub for full examples and usage instructions:
https://github.com/flobros/CodeWalker.API
License
MIT
Contributing
Pull requests are welcome! Report issues on GitHub:
https://github.com/flobros/CodeWalker.API/issues
v1.1.0
-import-xml endpoint changed to import (supports importing raw files into RPF archives as well)
-replace-file endpoint added
-JSON support (form still is supported)
-reuses RpfMan from CodeWalker.Core better.
NOTE: if you use codewalker_sollumz_bridge, update to v1.1.0.
v1.0.35
-Fixes an issue with YFT having non existent/missing textures, would not timeout the request, now safely returns textures.
v1.0.34
-Fixes an issue where shared textures not being exported.
v1.0.33
-Added support for replace-file endpoint (BROKEN, DOES NOT EXPORT SHARED TEXTURES, TO BE REMOVED)
v1.0.32
-Preheating caches for faster usage once loaded.
v1.0.31
-Supporting YDR/YFT without textures.
CodeWalker API
A .NET 9 web API that allows extracting, converting, and interacting with GTA V assets using CodeWalker libraries.
Download and Install
You can download the latest pre-built release from the Releases page. No need to build manually - just extract and run.
Configuration
The API reads its settings from an appsettings.json file. You can override locally using appsettings.Development.json.
Running the API
Simply run the CodeWalker API executable. By default, it starts on port 5555.
Features
- Extract and convert GTA V files (YDR, YTD, and more)
- Export models to XML
- Extract textures
- Search for files within RPF archives
- Import XML files back into RPF
Usage
You can interact with the API via Swagger UI or regular HTTP requests.
Examples and Documentation
See GitHub for full examples and usage instructions:
https://github.com/flobros/CodeWalker.API
License
MIT
Contributing
Pull requests are welcome! Report issues on GitHub:
https://github.com/flobros/CodeWalker.API/issues
Carregat per primera vegada: 23 de Març de 2025
Actualització més recent: 08 de Abril de 2025
Últim descarregat: Fa 1 hora
All Versions
28 Comentaris
More mods by flobros:
Changelogs
v1.1.0
-import-xml endpoint changed to import (supports importing raw files into RPF archives as well)
-replace-file endpoint added
-JSON support (form still is supported)
-reuses RpfMan from CodeWalker.Core better.
NOTE: if you use codewalker_sollumz_bridge, update to v1.1.0.
v1.0.35
-Fixes an issue with YFT having non existent/missing textures, would not timeout the request, now safely returns textures.
v1.0.34
-Fixes an issue where shared textures not being exported.
v1.0.33
-Added support for replace-file endpoint (BROKEN, DOES NOT EXPORT SHARED TEXTURES, TO BE REMOVED)
v1.0.32
-Preheating caches for faster usage once loaded.
v1.0.31
-Supporting YDR/YFT without textures.
CodeWalker API
A .NET 9 web API that allows extracting, converting, and interacting with GTA V assets using CodeWalker libraries.
Download and Install
You can download the latest pre-built release from the Releases page. No need to build manually - just extract and run.
Configuration
The API reads its settings from an appsettings.json file. You can override locally using appsettings.Development.json.
Running the API
Simply run the CodeWalker API executable. By default, it starts on port 5555.
Features
Usage
You can interact with the API via Swagger UI or regular HTTP requests.
Examples and Documentation
See GitHub for full examples and usage instructions:
https://github.com/flobros/CodeWalker.API
License
MIT
Contributing
Pull requests are welcome! Report issues on GitHub:
https://github.com/flobros/CodeWalker.API/issues
v1.1.0
-import-xml endpoint changed to import (supports importing raw files into RPF archives as well)
-replace-file endpoint added
-JSON support (form still is supported)
-reuses RpfMan from CodeWalker.Core better.
NOTE: if you use codewalker_sollumz_bridge, update to v1.1.0.
v1.0.35
-Fixes an issue with YFT having non existent/missing textures, would not timeout the request, now safely returns textures.
v1.0.34
-Fixes an issue where shared textures not being exported.
v1.0.33
-Added support for replace-file endpoint (BROKEN, DOES NOT EXPORT SHARED TEXTURES, TO BE REMOVED)
v1.0.32
-Preheating caches for faster usage once loaded.
v1.0.31
-Supporting YDR/YFT without textures.
CodeWalker API
A .NET 9 web API that allows extracting, converting, and interacting with GTA V assets using CodeWalker libraries.
Download and Install
You can download the latest pre-built release from the Releases page. No need to build manually - just extract and run.
Configuration
The API reads its settings from an appsettings.json file. You can override locally using appsettings.Development.json.
Running the API
Simply run the CodeWalker API executable. By default, it starts on port 5555.
Features
- Extract and convert GTA V files (YDR, YTD, and more)
- Export models to XML
- Extract textures
- Search for files within RPF archives
- Import XML files back into RPF
Usage
You can interact with the API via Swagger UI or regular HTTP requests.
Examples and Documentation
See GitHub for full examples and usage instructions:
https://github.com/flobros/CodeWalker.API
License
MIT
Contributing
Pull requests are welcome! Report issues on GitHub:
https://github.com/flobros/CodeWalker.API/issues
Carregat per primera vegada: 23 de Març de 2025
Actualització més recent: 08 de Abril de 2025
Últim descarregat: Fa 1 hora
@JohnFromGWN Yes it works from anything that can make web requests! This an api in openapi format, you can even use some get requests directly from the browser. Enjoy! :)
@Alex94 I still have to learn about this but if codewalker.core has a solution for this we can reuse that because the API is dependent on it. We will give a flag 'secure' to the import-files endpoint and do it that way. I created a github issue for it.
@flobros Hi and thanks for the reply. From my first comment here, I was not able to proceed with commands using CMD.
Content root path: C:\Users\J2020\Desktop\5af8ad-CodeWalker.API
info: Microsoft.Hosting.Lifetime[0]
The complete initialization messages are in my first message, the last is above. At that point i could no longer enter anything and had to control c it shut. I was however able to run my request on the localhost using the swagger UI web interface. Now a second however - the request only searched my mods folder, unlike OpenIV and RPF Explorer do both the mods and the game. My setup is unique, im sure of it, because I don't use dlcpacks. My dlc is in the root folder. Also, I have multiple mod folders for the same game to support massive mods such as LCCP. The current API ignores these.
@JohnFromGWN Oh yes that is correct, you have to use the SwaggerUI to make requests, use curl, a browser or similar. Sending the requests inside the same window is not possible. For the searches however that it is not finding the files that Codewalkers RPF Explorer does is a bit weird because it fully reuses dexy's code. Maybe you have a custom gta v directory or maybe something else goes wrong. Traversing the RPF archives only happens upon searching. SwaggerUI was added to support developers, other UI elements won't be added in this repository because Codewalker does this perfectly. If you want to use this for mapping reasons, try out the 'codewalker sollumz bridge' it's a blender plugin which has search, import and export ui elements which reuses this API.
@flobros Thanks. This is a great tool. Just need to find the right application for it.
Please add replace files inside rpf files...
@michalss replace-file is available on newest github release
Is there a way to specify the directory within the RPF when replacing files or are you planning on implementing automatic detection? Says it matches internal file with a new local file but it will not replace anything located outside of the first directory.
@nixx3 search returns a location of a RPF file, so you could automate it. First search, then replace based on the path(s) it returns to the file you want to replace. I think it's more solid than auto replacing based on filename only, that's vulnerable to mistakes.
@nixx3 eg, /api/search-file?filename=prop_alien_egg_01 returns ["x64c.rpf\\levels\\gta5\\props\\lev_des\\lev_des.rpf\\prop_alien_egg_01.ydr"] then send your replace request with that info.
@flobros I searched prop_alien_egg_01 and it came back "x64c.rpf\\levels\\gta5\\props\\lev_des\\lev_des.rpf\\prop_alien_egg_01.ydr", I went to Download and it successfully output prop_alien_egg_01.ydr in "C:\GTA_FILES\cw_out".
Then I entered the output following into Replace but it returns 'RPF archive does not exist at given path.':
x64c.rpf\levels\gta5\props\lev_des\lev_des.rpf\prop_alien_egg_01.ydr
C:\GTA_FILES\cw_out\prop_alien_egg_01.ydr
I've tried using both absolute and relative paths for x64c.rpf, adding/removing quotations, double blackslashes, etc., but still having no luck.
@nixx3 Ah you're right it's a bit confusing how this works, i will add some documentation and maybe some alternative way of sending payloads as JSON next to webform. In the file https://github.com/flobros/CodeWalker.API/blob/master/CodeWalker.API.http you can see the correct structure, there's maybe some helpers around for your code to transform your requests to webform format.
@flobros I also couldn't make subdirectories work when using replace-file, commented on my issue thread on Github, here is the link incase of you missed: https://github.com/flobros/CodeWalker.API/issues/2#issuecomment-2769867459
@nixx3 You were right there was an error, it's been fixed, json support is also added and examples are in there.
@Wolfenk we can now import with xml=false flag which makes you be able to import xml files at any destination. in upcoming releases we'll add endpoints to crud directories as well.
Release is available on github, pending here.
cheers!
@flobros Still can't get replace to work according to your JSON example in the source, it fails to replace outside of the main directory:
{
"rpfFilePath": "mods/new.rpf/test",
"localFilePath": "C:\\GTA_FILES\\cw_out\\prop_alien_egg_01.ydr"
}
Returns 'Failed to resolve RPF path: Entry not found or not a valid target: null', but the following JSON works fine:
{
"rpfFilePath": "mods/new.rpf",
"localFilePath": "C:\\GTA_FILES\\cw_out\\prop_alien_egg_01.ydr"
}
prop_alien_egg_01.ydr exists in both the main directory and within the test folder so it's definitely not a case of the file not existing.
I got the same results as @nixx3 did on v1.1.0.
@Wolfenk @nixx3 Confused because I just tested it and it works with the current release. I do remember making a mistake when uploading v1.1.0 I have tested like
```
POST {{CodeWalkerAPI_HostAddress}}/api/replace-file
Content-Type: application/json
{
"rpfFilePath": "modstore/new.rpf/some",
"localFilePath": "C:\\GTA_FILES\\fivem_out\\prop_alien_egg_01.ydr"
}
```
and
```
POST {{CodeWalkerAPI_HostAddress}}/api/replace-file
Content-Type: application/json
{
"rpfFilePath": "modstore/new.rpf/some/some.rpf/some",
"localFilePath": "C:\\GTA_FILES\\fivem_out\\prop_alien_egg_01.ydr"
}```
and i get back
```
{
"rpfFilePath": "modstore/new.rpf/some",
"replacedWith": "C:\\GTA_FILES\\fivem_out\\prop_alien_egg_01.ydr",
"message": "File replaced successfully.",
"newSize": 552771
}```
this is also tested
### ✅ JSON Import with outputFolder, with XML conversion
POST {{CodeWalkerAPI_HostAddress}}/api/import
Content-Type: application/json
{
"xml": true,
"filePaths": [
"C:\\GTA_FILES\\cw_out\\prop_alien_egg_01.ydr.xml",
"C:\\GTA_FILES\\cw_out\\ap1_02_planes003.ydr.xml"
],
"rpfArchivePath": "C:\\Program Files\\Rockstar Games\\Grand Theft Auto V\\modstore\\new.rpf\\some",
"outputFolder": "C:\\GTA_FILES\\fivem_out"
}
which allows imports/overwrites as well. replace-file is just to make sure you're not overwriting something non-existing.
Let me know if it still doesn't work. @thetr1cks on discord if you want to talk directly.
The console stopped starting, is this normal?
What does this do?
123456