https://github.com/clusterio/universal_edges
https://github.com/clusterio/universal_edges
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/clusterio/universal_edges
- Owner: clusterio
- License: other
- Created: 2024-09-07T07:58:34.000Z (almost 2 years ago)
- Default Branch: 1.2
- Last Pushed: 2025-02-27T15:41:53.000Z (over 1 year ago)
- Last Synced: 2025-02-27T21:40:35.492Z (over 1 year ago)
- Language: Lua
- Size: 203 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.MD
- License: LICENSE.md
Awesome Lists containing this project
README
# Universal edges
A clusterio plugin for seemlessly combining factorio servers
Based on edge transports by @Hornwitser
## Setup
npm install universal_edges
npx clusteriocontroller plugin add universal_edges
Download and install https://mods.factorio.com/mod/universal_edges - required for power, fluid transfers and train pathfinding to work.
Edges are configured through the web interface. When they are ready and working you will find them as green lines in game.
## Differences from edge transports
- Uses global config system instead of instance config
- Rewritten in typescript
- Support for fluids, electricity and trains (eventually)
## Features
- [x] Web gui for configuration
- [ ] Handle connectors when edges are moved
- [x] Belt transfers
- [x] Fluids transfers
- [x] Electricity transfers
- [ ] Train transfers
- [x] Delete source train
- [x] Correct landing location
- [x] Rotate trains when landing
- [x] Train fuel and schedules go missing
- [x] Retry sending when destination gets unblocked
- [ ] Test all 4 in and out directions
- [x] Pathfinding
- [x] Make it only check paths after a change event
- [x] Test creating penalty map on source
- [x] Update local destinations when a source updates
- [x] Update on edge activation/deactivation
- [ ] Global option to not repath on edge deactivated
- [ ] Vehicle support (cars, tanks)
- [ ] Spidertron support (like vehicles, but with paths saved)
## Development
Clone the repository into the external_plugins directory of your clusterio installation. Run `pnpm install` in your clusterio directory to install the dependencies and build the plugin.
Build the mod using `pnpm buildmod` and upload the mod to your server.
On windows, for lua linting:
wget https://github.com/mpeterv/luacheck/releases/download/0.23.0/luacheck.exe -O luacheck.exe
### Publishing releases
Releases are built and published with github actions. To publish a new version, run `npm version ` and push the commit and tag using `git push` followed by `git push --tags` - it is important to do a normal push first.