News:

Simutrans.com Portal
Our Simutrans site. You can find everything about Simutrans from here.

[Suggestion] Vehicles "stuck" for over a month should teleport to depot

Started by freddyhayward, September 08, 2019, 11:11:35 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

freddyhayward

This suggestion aims to address network blockages in multiplayer games usually caused by a single stuck vehicle. If the vehicle belongs to a locked inactive player, these can last in-game decades. This approach might also address the issue where passengers overcrowd stations waiting for non-existent services: https://forum.simutrans.com/index.php/topic,19093.0.html

Ranran(retired)

It is certain that other players may be troubled by the occurrence of deadlock.
But on the other hand, if automatically teleport a stuck convoy to the depot before the player checks it, player may not understand what caused the deadlock.
If the cause is not known, it may be repeated again...
ひめしという日本人が開発者達の助言を無視して自分好みの機能をextendedに"強引に"実装し、
コードをぐちゃぐちゃにしてメンテナンスを困難にし(とりわけ道路と建物関連)、
挙句にバグを大量に埋め込み、それを知らんぷりして放置し(隠居するなどと言って)別のところに逃げ隠れて自分のフォーク(OTRP)は開発を続けている
その事実と彼の無責任さに日本人プレイヤーは目を向けるべき。らんらんはそれでやる気をなくした(´・ω・`)
他人の振り見て我が振り直せ。ひめしのようにならないために、らんらんが生み出したバグや問題は自分で修正しなくちゃね(´・ω・`)

Spenk009

Can the game send a message to the player in absentia, detailing which tile the convoy was on when it teleported?

freddyhayward

Quote from: Spenk009 on September 09, 2019, 02:54:40 PM
Can the game send a message to the player in absentia, detailing which tile the convoy was on when it teleported?
Quote from: Ranran on September 09, 2019, 02:00:42 PM
It is certain that other players may be troubled by the occurrence of deadlock.
But on the other hand, if automatically teleport a stuck convoy to the depot before the player checks it, player may not understand what caused the deadlock.
If the cause is not known, it may be repeated again...

As currently, players are warned "{convoy} is stuck" and given the tile coordinates in the messages window. As to whether players can diagnose problems within the network, presumably using the block reservation display, this would depend on how much time is allowed and how often the player checks on the server. Allowing "over a month" would last for the rest of the month in which the deadlock occurs and the entirety of the following month — though perhaps this value could be extended via settings. Of course if the player never logs on again, as is often unfortunately the case, there is no chance of them detecting the problem at all. It is also possible for other active players to notice the problem and address it indirectly (for example, by building additional tracks connected to those of the original player).

Edit: perhaps 12 months would be a more reasonable default.

Matthew

I think that a month is too short. I play with a different bits_per_month setting to the Bridgewater-Brunel game, so my months are much shorter (maybe 15 mins of real life?). If this proposal is ever implemented, then I would suggest that the time before teleportation is made adjustable in simuconf.tab and the in-game Settings dialogue.
(Signature being tested) If you enjoy playing Simutrans, then you might also enjoy watching Japan Railway Journal
Available in English and simplified Chinese
如果您喜欢玩Simutrans的话,那么说不定就想看《日本铁路之旅》(英语也有简体中文字幕)。

Mariculous

*dig dig* Oh an ancient thread!

I agree there should be some machanism to remove blockages that one can't resolve manually due to other players being affected.
However, i would alter this from an automatic "teleport them all" to a manual "teleport that vehicle" tool for the following reasons:
If one vehicle gets stuck, many more will also stuck. If the game engine would move all of the stuck vehicles to the depot, all players will have to restart their trains although most of them didn't do anything bad.

Alternatively, that automatic teleportation should try to be smart and only teleport vehicles that are stuck waiting for a vehicle facing the opposite direction as this is the most common cause for deadlocks.
However, trying to make programms "smart" is most often not a pretty good idea...

jamespetts

I can see possible benefits and possible complexities of this. On the one hand, it can deal with blockages in network games that might affect shared lines; on the other hand, it may be difficult for players who have been absent to understand what has happened (or even that something has happened at all if all the messages have been archived into oblivion) and then to find the cause of the problem. Large numbers of vehicles may end up being teleported when only a few were at fault, and vehicles stuck in a depot are just as unproductive as vehicles stuck in service - except in the case of the latter, the player manually has to restart them. If player X's vehicles getting stuck cause player Y's vehicles to get stuck, and player X fixes the blockage, it would be unfortunate if player Y's vehicles had teleported back to the depot in the meantime, meaning that player Y would have to do a lot of work to re-set her/his lines when this would not otherwise be necessary.

At present, from what I can tell, simply teleporting stuck vehicles to the depot would probably cause more problems than it would solve.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ranran(retired)

It may be difficult for a program to determine which vehicle to remove.
Waiting for the grace period for the player for few months, then this can compound the problem the removal of the abnormal vehicle.

About which vehicle to remove:
In a 1: 1 head-on collision, removing one will resolve the stuck.
However, in the case of 1: 2 collision, it is easier for humans to decide which vehicle to remove, but adds more complexity when the program does it.

It would be difficult to write code to determine which vehicles to remove in situations like the example below.

Such situations are often seen in transport fever 2  :-X
BTW, these vehicles in this image have been stuck for 18 months, but no stuck warnings. This may be a bug.



My idea is:
The go to depot button for vehicles that have been stuck for a certain months will change to a teleport depot button.
This teleport button can also be pressed by other players.
When this button is used, a message will be displayed to all players. The vehicle being removed is at the discretion of the player performing it, but it should be kept to a minimum.
This is like towing illegally parked vehicles or removing accident vehicles in the real world.
Maybe transportation costs should be borne by the owner of the removed vehicle.

It should be noted that the relationship between the length of the in-game month and the length of real-world time varies with bit_per_month.
ひめしという日本人が開発者達の助言を無視して自分好みの機能をextendedに"強引に"実装し、
コードをぐちゃぐちゃにしてメンテナンスを困難にし(とりわけ道路と建物関連)、
挙句にバグを大量に埋め込み、それを知らんぷりして放置し(隠居するなどと言って)別のところに逃げ隠れて自分のフォーク(OTRP)は開発を続けている
その事実と彼の無責任さに日本人プレイヤーは目を向けるべき。らんらんはそれでやる気をなくした(´・ω・`)
他人の振り見て我が振り直せ。ひめしのようにならないために、らんらんが生み出したバグや問題は自分で修正しなくちゃね(´・ω・`)

jamespetts

Allowing players to send other players' vehicles to the depot after a while is an interesting idea; but do you imagine this applying to all vehicle types, or only road types? Applying it to rail might be complex; do you envisage allowing any player to send any other player's vehicles to the depot, or just players who have given or have been given access rights by the player whose vehicle is stuck?
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ranran(retired)

Quote from: jamespetts on December 31, 2019, 02:12:19 AMAllowing players to send other players' vehicles to the depot after a while is an interesting idea; but do you imagine this applying to all vehicle types, or only road types? Applying it to rail might be complex;
I think it is necessary to resolve the stuck as soon as possible with railway vehicles too.
However, on the rails, it may be difficult to correctly return the vehicle that caused the problem to the depot due to signal working. It may not be able to get out properly or cause a new deadlock.

Therefore, I think it is good to teleport also railway convoys to the depot. I think it is necessary to set a long period so that this function is not abused, but for example, three months is enough in network game. (This means that other players will be affected for that period.)
In some cases in the real world, a railroad vehicle that is unable to run due to an accident may return to the depot via the road. (Teleports directly to the depot without expressing movement on the road.) However It is desirable to collect the cost of the distance to the depot even if it does not via on the rail route.

Quote from: jamespetts on December 31, 2019, 02:12:19 AMdo you envisage allowing any player to send any other player's vehicles to the depot, or just players who have given or have been given access rights by the player whose vehicle is stuck?
This feature is probably most useful for network games. Eliminating deadlocks will help even if the player involved is not logged on. Even if it is not directly related to the stuck vehicle, it may be affected by passenger transfer.
Removing a convoy reduces that player's active convoy, but it's often better than being left deadlocked.
ひめしという日本人が開発者達の助言を無視して自分好みの機能をextendedに"強引に"実装し、
コードをぐちゃぐちゃにしてメンテナンスを困難にし(とりわけ道路と建物関連)、
挙句にバグを大量に埋め込み、それを知らんぷりして放置し(隠居するなどと言って)別のところに逃げ隠れて自分のフォーク(OTRP)は開発を続けている
その事実と彼の無責任さに日本人プレイヤーは目を向けるべき。らんらんはそれでやる気をなくした(´・ω・`)
他人の振り見て我が振り直せ。ひめしのようにならないために、らんらんが生み出したバグや問題は自分で修正しなくちゃね(´・ω・`)

jamespetts

What I am wondering about is the desirability of players being able to interfere with other players' networks even though the issue on other players' networks has no effect on the interfering player: the players whose network be thus interfered with may prefer the trains to remain stuck until that player comes online for the same reasons given against automatic teleporting above.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Vladki

I think that this is similar to the "remove reservation" tool. It should work on tracks that the player is allowed to use, regardless of which player's vehicle (reservation) is affected.

Ranran(retired)

My idea is not to automatically remove the stuck at the program's discretion, but to press the teleport button is left to the online player's discretion.
If it negatively affects online player's network, he will try to solve the stuck by using it.
But on the other hand, if that stuck is desirable for online players, nobody may try to solve it.  :P

Even if there is a record of the stuck coordinates and convoy in the message centre, the player who caused it may not be able to understand the cause of the stuck without directly looking at the situation. If the stuck is not significantly harming other players, it is desirable not to do so blindly.
ひめしという日本人が開発者達の助言を無視して自分好みの機能をextendedに"強引に"実装し、
コードをぐちゃぐちゃにしてメンテナンスを困難にし(とりわけ道路と建物関連)、
挙句にバグを大量に埋め込み、それを知らんぷりして放置し(隠居するなどと言って)別のところに逃げ隠れて自分のフォーク(OTRP)は開発を続けている
その事実と彼の無責任さに日本人プレイヤーは目を向けるべき。らんらんはそれでやる気をなくした(´・ω・`)
他人の振り見て我が振り直せ。ひめしのようにならないために、らんらんが生み出したバグや問題は自分で修正しなくちゃね(´・ω・`)

freddyhayward

I like the idea of a "teleport to depot" button appearing after a set interval. The server should at least send out a message: "{player_a} teleported {player_b}'s {convoy} from {convoy_position} to {depot} at {depot_position} after being stuck for {months} months." Then as a matter of server etiquette, the player would leave a message or sign explaining the causes and effects of the blockage. With these in mind it seems difficult for this feature to be abused.

jamespetts

I can see the merit of Ves's suggestion of using the same logic as the reservation clearance tool for determining who is allowed to teleport another player's vehicles to the depot after they have been stuck for a fixed period. Is anyone aware of a compelling reason to do anything different?
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ves

Quote from: jamespetts on January 02, 2020, 10:29:59 AM
I can see the merit of Ves's suggestion...
Although i would say thanks for the credit, I think you meant Vladki :-p

Anyway, I think that makes sense as well!

jamespetts

Quote from: Ves on January 02, 2020, 11:00:33 AM
Although i would say thanks for the credit, I think you meant Vladki :-p

Anyway, I think that makes sense as well!

Oops - my error; yes, I meant Vladki.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Mariculous

Quote from: Freahk on December 18, 2019, 04:21:44 PMI agree there should be some machanism to remove blockages that one can't resolve manually due to other players being affected.
However, i would alter this from an automatic "teleport them all" to a manual "teleport that vehicle" tool for the following reasons:
So, it seems I agreed with it already.

Phystam

This button is now very Standard-ish. Is it a solution that we change the tool into 'teleport to (the home) depot?

jamespetts

Quote from: Phystam on January 02, 2020, 12:45:57 PM
This button is now very Standard-ish. Is it a solution that we change the tool into 'teleport to (the home) depot?


That is an interesting thought - but this is a much used button, I suspect. I should be interested to know what other players make of this suggestion.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Vladki

Perhaps showing sell on your own vehicles, and teleport on other players?
One should be able to resolve blockage of own vehicles without teleport.

jamespetts

Quote from: Vladki on January 02, 2020, 01:34:19 PM
Perhaps showing sell on your own vehicles, and teleport on other players?
One should be able to resolve blockage of own vehicles without teleport.

But if that is possible, surely the answer is to give that functionality to the other players, rather than the teleport functionality?
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ranran(retired)

The image presented by Pystam is a convoy detail dialog. It needs to be opened via convoy dialog.

What I was thinking about was changing the go to depot button on the long-stuck convoy's convoy dialog to the teleport to depot button and unlocking it for other players.
ひめしという日本人が開発者達の助言を無視して自分好みの機能をextendedに"強引に"実装し、
コードをぐちゃぐちゃにしてメンテナンスを困難にし(とりわけ道路と建物関連)、
挙句にバグを大量に埋め込み、それを知らんぷりして放置し(隠居するなどと言って)別のところに逃げ隠れて自分のフォーク(OTRP)は開発を続けている
その事実と彼の無責任さに日本人プレイヤーは目を向けるべき。らんらんはそれでやる気をなくした(´・ω・`)
他人の振り見て我が振り直せ。ひめしのようにならないために、らんらんが生み出したバグや問題は自分で修正しなくちゃね(´・ω・`)

Vladki

Most blockages I was able to solve by:

a) clearing forgotten reservations
b) opening and closing vehicles schedule, with no change.
c) opening vehicles schedule and sending it to next, previous, or any other stop, optionally toggling reverse schedule
d) sending vehicle to depot in usual way (not teleporting)
e) upgrading or rebuilding roads on the vehicles route
f) combination of all above, never needed to sell vehicle on spot

a) would be satisfied if anyone can clear reservations on ways he is allowed to use.
b/c/d) could be done as suggested before - if a vehicle is stuck for some time (one or a few more game months?), then allow other players to:
- send the vehicle to depot (normal way) - this avoids the problem of teleporting to depot on disconnected network
- open the vehicle's schedule and set new destination  (modification of schedule would not be possible)

jamespetts

On the face of it, Vladki's suggestions seem to be the most sensible way of addressing this issue; can anyone see any insuperable problems of doing it this way?
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Vladki

Also, the public player can switch to anyone else without password, and resolve the blockage. So it is the game master's task to do it if necessary.

Ranran(retired)

Does Vladki's idea operate a convoy that others have stuck manually?
How is that spoofing limited to stuck vehicles only? For example, manipulating the next schedule for a vehicle is no matter, but removing a station from the schedule is problematic.
If there are many stuck vehicles and if one stuck vehicle moves slightly by operating one vehicle, it will not be in the stuck state. If the spoofing player can control a vehicle that is not stuck, it can be exploited.
ひめしという日本人が開発者達の助言を無視して自分好みの機能をextendedに"強引に"実装し、
コードをぐちゃぐちゃにしてメンテナンスを困難にし(とりわけ道路と建物関連)、
挙句にバグを大量に埋め込み、それを知らんぷりして放置し(隠居するなどと言って)別のところに逃げ隠れて自分のフォーク(OTRP)は開発を続けている
その事実と彼の無責任さに日本人プレイヤーは目を向けるべき。らんらんはそれでやる気をなくした(´・ω・`)
他人の振り見て我が振り直せ。ひめしのようにならないために、らんらんが生み出したバグや問題は自分で修正しなくちゃね(´・ω・`)

Vladki

As said before
- only vehicles stuck for a while should be operated by others.
- changes in schedule should be forbidden (removing/adding stops, changing waiting times)
- only "send to depot", skipping stops, and toggling the reverse direction should be allowed.

If the vehicle moves a little and gets stuck again, then you probably touched the wrong one and should try another which is most probably still stuck. Or wait for the server admin to intervene, he can impersonate the player and try more stuff.