Comments (15)
Comment by sharkk from 2014-01-02 02:19:24
Possibly just server lag at cadoth. I've never seen this happen before.
from lykos.
Comment by ishanyx from 2014-01-05 00:11:23
This is definitely not just lag on cadoth, it also keeps announcing messages as if the game is still going on:
04190720 <@✓lykos> FoolsTP didn't get out of bed for a very long time and has been found
dead. The survivors bury the wolf's body.
04190720 -!- mode/##werewolf [-v+q FoolsTP FoolsTP!*@*] by lykos
04190720 <@✓lykos> Game over! All the wolves are dead! The villagers chop them up, BBQ
them, and have a hearty meal.
04190720 <@✓lykos> Game lasted 09:20. 07:20 was day. 02:00 was night.
04190720 <@✓lykos> The wolf was FoolsTP. The seer was billion57.
04190729 <+✓zaphyro> No need
04190744 -!- mode/##werewolf [+o ishanyx] by ChanServ
04190745 -!- mode/##werewolf [-m] by ishanyx
04190747 <@ishanyx> stupid lykos
04190748 <+✓billion57> oh cool
04190800 -!- mode/##werewolf [-qq FoolsTP!*@* rww!*@*] by ishanyx
04190809 -!- mode/##werewolf [-vvv billion57 Giglion zaphyro] by ishanyx
04190820 -!- mode/##werewolf [-o ishanyx] by ishanyx
04190840 <@✓lykos> The sun sets.
04190840 <@✓lykos> The villagers, after much debate, finally decide on lynching zaphyro,
who turned out to be... a villager.
04190849 < ✓billion57> Lol
04190852 < ✓zaphyro> Um
04190951 -!- mode/##werewolf [-vvvq billion57 Giglion zaphyro rww!*@*] by lykos
04190951 -!- mode/##werewolf [-q FoolsTP!*@*] by lykos
from lykos.
Comment by Chiyo-chan from 2014-02-08 18:22:39
Maybe we could add like a !fixmodes command (op only) what will remove the voices and quiets what could also include !fstop, but not announcing that the game was stopped (as it was meant to anyway).
from lykos.
Comment by ishanyx from 2014-02-08 20:21:57
It doesn't respond to anything until it catches up on its own.
from lykos.
Comment by Chiyo-chan from 2014-02-09 00:37:21
Ah, right.
from lykos.
Comment by brrr2 from 2014-02-09 19:07:28
It seems to me like there might be a glitch in processing the endgame when someone idles out or some other special condition.
from lykos.
Comment by brrr2 from 2014-02-13 06:02:04
There is also the issue of the bot updating player stats in the database at the end of a game. As the bot is doing that, it won't process anything else. I'd imagine that the delay time is longer for larger games.
from lykos.
@brrr2 I think one way we could help fix that is to spin off another thread for DB updating, that should help with things.
Actually, multithreading the entire bot might be something worth looking into.
from lykos.
Actually this might be caused by stats updating during disk i/o lag. If we make it unset the modes first and then write out the stats, it'll still delay starting the new game when this happens, but not leave the channel modes in a broken state in the meantime.
from lykos.
One more for posterity.
When this happens, stats are probably recorded twice.
from lykos.
I don't know when this was logged due to lack of timestamps, but it might be relevant:
Exception in thread Thread-2104:
Traceback (most recent call last):
File "/usr/lib/python3.2/threading.py", line 740, in _bootstrap_inner
self.run()
File "/usr/lib/python3.2/threading.py", line 693, in run
self._target(*self._args, **self._kwargs)
File "/opt/bots/lykos/lykos/modules/wolfgame.py", line 1053, in reaper
if not del_player(cli, nck):
File "/opt/bots/lykos/lykos/modules/wolfgame.py", line 984, in del_player
ret = not chk_win(cli, end_game)
File "/opt/bots/lykos/lykos/modules/wolfgame.py", line 947, in chk_win
stop_game(cli, "villagers" if village_win else "wolves")
File "/opt/bots/lykos/lykos/modules/wolfgame.py", line 874, in stop_game
var.update_role_stats(acc, rol, won, iwon)
File "/opt/bots/lykos/lykos/settings/wolfgame.py", line 285, in update_role_stats
(acc, role, wins, iwins, total))
sqlite3.ProgrammingError: Recursive use of cursors not allowed.
See issue #18.
from lykos.
That could mean that stats aren't recorded a second time after all.
from lykos.
Is this still a concern?
from lykos.
I think the fixes took care of it. Proper threading, as sckasturi mentioned, is probably still something to consider.
from lykos.
Considering this fixed for now.
from lykos.
Related Issues (20)
- Start-of-day message happened even though game ended at night->day transition
- Change "You have not yet acted with all of your roles tonight" message back to 30sec before night ends
- lykos always responds in notices to commands issued in channel if the user isn't joined HOT 2
- Lykos doesn't ping previously-joined players after restart
- Clone wins if unturned and fool wins
- votes required to lynch counter doesn't take narcolepsy into account
- !abstain works d1 HOT 1
- werecrow can't pick a new target if the old one idles out
- Server mode changes not tracked
- Masq: vil lynched, WC turned, game ended in wolf win, WC didn't get the win
- Game doesn't end when fool is lynched HOT 1
- piper win condition seems to be broken HOT 1
- Wild child incorrectly turned into wolf and didn't get a win
- !roles shows internal role names
- Idle timeout message happened twice HOT 4
- VG is not told about swaps resulting from exchange totems, leading to confusion
- Master of Teleportation can act multiple times in one night
- !gstats counts Fool wins and Fool wins separately HOT 1
- Information leak swapping via exchange totem
- GA can end night by passing then guarding HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lykos.