Well, I won't write the program, so this may be a bit useless...
Here is a feature-complete proposal. Most parts are probably already implemented... but this is an attempt to show a system in it, a system which has logic and more advantages than disadvantages, and requires minimal changes:
1) Public authority (PA) belongs to administrator. Always.
2) When building station tile, check if there is nearby station of same player
- if yes, merge;
- if no, new station;
- ignore stations belonging to all other players (including PA).
3) Have some way of making station public:
- if the station belongs to active player
- if active player is PA, allow for any station
4) A tool to merge stations (invoked by player, not automatically):
- only if they are next to each other and
- only if they both belong to active player.
=> Key principle: Players can't join stations with other players without both/all of them making the stations public first, and PA must approve of the merger too.
Advantages:- Players can build stations next to each other (public authority, too!)
- Players can merge their own stations when they make mistakes
- Players can turn their stations into public
- Only when two (or more) players reach consensus, they can make their stations public and join them
Disadvantages:- Competition between PA (joined) stops and other players - example: A, B & C transport from some place; A & C decide to join their stations but B stays aside. Now he gets more cargo and the two less because there are 2 stations instead of 3.
- A third party (PA) is required to complete station mergers - when the station is changed to public, players can't do it any more as it belongs to somebody else.
- Without PA's attention, players can not cooperate.
Discussion:It is important to understand that in the end, only PA (admin) can merge stations from more players.
This sort of combines well with the second disadvantage, which I would call a feature. Merging stations needs consensus of all involved players, and when it happens, they all have to indicate willingness to do it (turning stations over to PA) before an actual merging happens.
In a way, it is a primitive voting system, without any actual [needed new] interface.
Thus a "rogue" player can only stall the process, since everyone could see he did not change his stop to public. This is also why a tool for joining
any stations can't simply turn them both into public - the other player must have some way to indicate agreement!
With this system, there is no way to "steal" a station from other player by making it public and maybe merging with it. PA has the ultimate control of all inter-player station mergers, so as long as the admin stays neutral, the game is fair.
But the admin/PA must be present for mergers. How frequently do they happen, is it too much of a disadvantage?
Also, as long as PA pays attention, first disadvantage is not important. He can forcefully take over any station and merge it to already existing complex.