|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- # CLre
-
- Always eat your celery, so you'll grow up to be big and strong like me.
- Work-in-progress mod for [CardLife](http://cardlifegame.com/).
-
- CardLife has stopped receiving updates, but that doesn't mean it's free from bugs.
- CLre is a mod to rejuvenate CardLife by fixing old bugs and adding some modding sprinkles.
-
- ## Setup
-
- This project requires most of Cardlife's `.dll` files to function correctly.
- Most, but not all, of these files are stored in Cardlife's `Cardlife_Data\Managed` folder.
- The project is pre-configured to look in a folder called cl in the solution's main directory or one level up from that.
-
- You can make sure CLre can find all of `.dll` files it needs by copying your Cardlife folder beside this repo's folder and renaming it to `cl`, but that's a bit of a waste of disk space.
- You can also create a symbolic link to your Cardlife install folder named `cl` in the same spot to avoid having to re-copy files.
- For example, if you cloned the repo into a folder called `CLre_repo`, this is what your folder structure would look like.
-
- If you decide to change the `cl` folder configuration, do not commit changes to your `CLre.csproj` or `CLre_server.csproj` files otherwise your changes will be rejected.
-
- ```
- CLre_repo/ <- CLre git project files
- CLre/ <- Code files
- README.md <- This file
- etc.
-
- cl/ <- CardLife files
- Cardlife_Data/
- Managed/ <- Cardlife C# Assemblies
- CardlifeGameServer_Data/
- Managed/ <- Cardlife Server C# Assemblies (optional)
- ```
-
- For any game mod to work, you will have to patch your game with the Cardlife adaptation of [CLIPA](https://git.exmods.org/NGnius/CLIPA).
- FOr a server mod to work, you will have to patch the server (CardlifeGameServer.exe).
- The installation process is roughly the same as for Gamecraft, except with a different name: [GCIPA Gamecraft install guide](https://git.exmods.org/modtainers/GCIPA/src/branch/master/README.md#how-to-install).
-
- ## Building
-
- After you've completed the setup, open the solution file `CLre.sln` in your prefered C# .NET/Mono development environment.
- I'd recommend Visual Studio Community Edition or JetBrains Rider.
-
- If you've successfully completed setup, you should be able to build the CLre project without errors.
- If it doesn't work and you can't figure out why, ask for help on the [Exmods Discord server](https://discord.exmods.org).
-
- ## Installation
-
- To install the CLre mod, copy the build's `CLre.dll` into the `Plugins` folder where Cardlife is installed.
- To install the CLre_server mod, copy the CLre_server build's `CLre_server.dll` into the `Plugins` folder where Cardlife is installed.
-
- ## A Note on CLre and CLre_server mods' (lack of) cooperation
-
- CLre is designed for the Cardlife client, and cannot be used to mod the Cardlife server.
- Similarly, CLre_server is designed for the Cardlife server, and cannot be used to mod the Cardlife client.
- DO NOT install CLre and CLre_server in the same `Plugins` folder, because both mods will be loaded -- guaranteeing one will break.
- To install CLre and CLre_server on the same computer, create a copy of the game installation and use one copy for CLre and one for CLre_server.
-
- # Functionality
-
- ## CLre
-
- CLre provides a minimal modding API and useful bugfixes for the Cardlife client.
-
- ### Fixes
-
- As of v0.0.1, six (6) bugfixes are implemented.
- - InitLogSooner: Start the logger slightly sooner than Cardlife does [TARGET: CustomLoggerThread] [ID: 0] (0M/2P/1I/0W/0A/0D/3T)
- - EnchantmentTableFloatParseFix: [MORE: https://trello.com/c/qawBFb7P/1-enchantment-table-fails-to-work] [ID: 1] (0M/2P/0I/0W/0A/0D/2T)
- - ExclusionImprovement: [MORE: https://trello.com/c/Ue4yIqWQ/11-placing-material-in-restricted-areas] [ID: 2] (0M/2P/0I/0W/0A/0D/2T)
- - ClientDurabilityNodeErrorRemover: [MORE: https://trello.com/c/YT3VbXpZ/15-durability-log-error] [ID: 3] (0M/2P/0I/0W/1A/0D/3T)
- - CooldownCrossSlotSync: [MORE: https://trello.com/c/65FPrTjK/12-no-cooldown-between-inventory-slots] [ID: 4] (0M/1P/0I/0W/0A/0D/1T)
- - ScrollSpeedImprovement: [MORE: https://trello.com/c/elL8IVdn/4-scroll-menus-are-insensitive] [ID: 5] (0M/1P/0I/0W/0A/0D/1T)
-
- ### API
-
- Basic engine registration and some events are exposed for modders to use.
- Documentation WIP...
-
- ## CLre_server
-
- CLre_server provides a minimal modding API, admin HTTP server, and bugfixes for the Cardlife server.
-
- ### Fixes
-
- As of v0.0.1, one (1) bugfix is implemented.
- - InitLogSooner: Start the logger slightly sooner than Cardlife does [TARGET: CustomLoggerThread] [ID: 0] (0M/2P/1I/0W/0A/0D/3T)
-
- ### API
-
- Basic engine registration and some events are exposed for modders to use.
- Documentation WIP...
-
- ### HTTP Server
-
- The HTTP server is enabled by the `-web` command line argument.
- It is disabled by default to reduce resource usage.
- When enabled, the server will listen on http://localhost:5030 and provide basic server status information.
- This can be accessed through any standard web browser on the same computer.
- If you wish to make this publicly accessible, it is recommended to use Nginx or another web proxy system to proxy traffic to that port securely.
-
- Useful endpoints
- ```text
- GET / HTML landing page with some basic server info
- GET /l/current Server output log, up-to-date as of last webpage refresh
- GET /d/version Cardlife, Unity and CLre version information
- GET /status.json Useful status information about players and server state in JSON format
- GET /c/game.json Basically GameServerSettings.json for the running Cardlife server
- ```
|