Giter Site home page Giter Site logo

scoreboard's Introduction

The CRG ScoreBoard is a browser-based scoreboard solution that also provides overlays for video production and the ability to track full game data and export it to a WFTDA statsbook.

The topics on the Scoreboard Wiki Main Page are the primary documentation for the scoreboard. In order to reach out to the developers, it's best to use the Github Issues Page.

A mailing list and wiki were available on SourceForge (the original location for this project) but they are not currently used. Subscribing to the SourceForge mailing list and consulting the wiki there is not recommended.

Installing the Scoreboard Software

These are instructions for getting the software installed and running on a standalone computer to provide a functioning scoreboard. If you have already done this, see Setting up the Scoreboard below.

Hardware Requirements

Most Apple or Windows computers that have been manufactured in the last ten years should be able to handle the scoreboard well on a standalone setup. In general, a machine with at least a dual-core 64-bit processor and 2 gigabytes of RAM should be sufficient. Using the scoreboard to provide video overlays or in a networked setup that includes penalty or lineup tracking typically requires more computing power.

Chromebooks that have been modified to run Linux distributions have been used to host the scoreboard but hardware limitations (lack of a suitable display output or low-powered CPUs) may cause issues.

Software Requirements

The scoreboard should be unzipped into a folder on the local machine. The user running the software requires write access to this folder. Do not put the scoreboard in a folder that requires administrator privileges to write to unless you intend to run the software as an administrator.

Web Browser

Google Chrome and Microsoft Edge (as well as their open-source parent Chromium or other browsers derived from it) are recommended for running the software. Some known issues may occur when using Mozilla Firefox or Apple Safari. Microsoft Internet Explorer is not recommended.

Java

Java is required for providing a Java Runtime Environment (JRE) version 8.0 or newer. Installing the latest version of Oracle's Java is recommended.

  • Windows users can install the standard Java for Windows package that is available when clicking on Free Java Download from Oracle’s Java site.

  • Apple users must install the complete Java Platform (JDK), which includes the JRE, to run the scoreboard properly.

  • Linux users may already have a JRE from the OpenJDK project installed, if not, OpenJDK can be obtained from their repositories.

Downloading the Scoreboard

The project is currently hosted on GitHub, and ZIP files can be downloaded from the GitHub Releases Page. It is recommended that you use the version labeled "Latest release" (green box). The "Pre-release" (orange box) versions are currently in development and testing, and are not recommended for sanctioned games or tournaments.

Please note that an older version of the project is still hosted on SourceForge and it is no longer maintained there.

Setting up the Scoreboard

Once Chrome and Java are installed, use your file manager to navigate to the scoreboard folder and run the scoreboard background script by double-clicking on it.

  • Windows users: Run scoreboard-Windows.exe to start the script.

  • Apple users: Run scoreboard.sh to start the script. (If clicking doesn't work, try pressing command+i (or right click on the file and select "Get info"). In the new info dialog in section "open with" select Terminal.app. (If it's not listed, choose other and navigate to /Applications/Utilities/Terminal.app.)

  • Linux users: Run scoreboard.sh to start the script. If you are unable to start it, you may have to allow script files to be executable as programs.

Once it starts successfully, the scoreboard script will open a new window and display a series of status messages. You must keep this script running in order for the scoreboard to function, so do not close the window. You may minimize the window without effect.

In your file manager, open start.html with the recommended browser. You may need to right-click on the file and choose the Open With option. The browser will open to localhost:8000 where several options are presented.

Assuming that your scoreboard computer is set up with a monitor/laptop screen as a primary display for the operator, and a separate projector as a second display, right-click on the second link for Main Scoreboard and choose Open link in new window. Drag the new window with the main scoreboard onto the second display, click inside the window, and press the F11 key to make the window full screen. In the first browser window that you opened on the primary display, click on one of the documentation links. It will open in a new tab. Back in the original tab click on Main Operator Control Panel.

When the control panel displays, it will ask you for an operator name. Enter your name and click Login. This operator name is used to store your personalized settings such as key controls.

Now you can go to the tab with the documentation and either go to the Quick Start Guide or dive in deep right away and proceed with the section on the Controls page.

scoreboard's People

Contributors

adamsmasherderby avatar aoanla avatar atkinsonm avatar brian-brazil avatar bullseye555 avatar ddstreet avatar ericagostinelli avatar frank-weinberg avatar jaredquinn avatar jeneralpain avatar marbledice avatar mmitton avatar official-sounding avatar reflexdd avatar riffreff avatar rogerharkavy avatar signe avatar valhallasw avatar webdingens avatar xrobau avatar yetzt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

scoreboard's Issues

Add screens that display LT and SK sheets

When running paper and electronic games data in parallel, having these screens will allow for easy cross checking either during or after the game (before exporting to statsbook).
Ideally, the data displayed can also be edited.

REQUEST: Add Official Review to Mobile Jam Control

Currently the when control the Clocks from the Mobile Jam Control, you can't enter Official Review for either team

Recommendation is to add an additional pair of buttons under the existing Time Out buttons for each team, where the red boxes are in the screenshot below

screenshot_27

Remove the "legacy" PT screen

the actual differences from the "Penalty Tracking" sheet are basically nil at this point (the main difference is the Penalty Tracking Sheet supports colors), so the only purpose the legacy Penalty Tracker screen seems to serve is an opportunity to introduce bugs.

I would like to remove the legacy Penalty Tracking sheet, and make the ptcolor version the "default". Does any one see a reason to keeping the legacy screen around?

Basic question: saving a game/scoreboard

On the FB page, someone said it was possible to save a scoreboard by right-clicking, then "save as". I don't see a "save as" there, just a "save link as", which is what I did. I could then "save as" scoreboard.

However, the file that shows up is not exactly gibberish, but darned close (screenshot). What am I missing in the process?

screen shot 2018-03-23 at 6 17 23 pm

Mac App won't run in High Sierra (10.13)

The Mac app for the scoreboard is a Platypus wrapper around a shell script. This shell script relies on using a relative path to locate the unzipped directory, assuming that the jar file is in ../lib/crg-scoreboard.jar.

Because the scoreboard is an unsigned app, High Sierra "translocates" the app's contents to a random directory before running it as a security measure. This means that the shell script has no way to discover where the jar file is, and the app fails silently.

Workaround:

  1. Open the unzipped directory in the Finder.
  2. Drag the scoreboard-Mac.app to the Applications directory via the Finder (mv will not work).
  3. Drag the app back to the unzipped directory
  4. Now the application will launch. ¯\_(ツ)_/¯

The Mac way to solve this problem is to bundle all the needed files into the app itself. It would be pretty easy to do this with Platypus, but the scoreboard writes to some of these directories, so we'd need to know which ones. We could then write them to ~/Library or something like that, even just using symlinks. In general it looks like it might be a good idea to separate out places that might get written to, and put them in a configurable location.

The Platypus wrapper could also be updated to prompt the user to find the jar file, or maybe start.html as proxy for the unzip folder.

At the very least, the app should probably generate a sensible error dialog with the workaround.

Finally, it looks like High Sierra doesn't resolve localhost as a DNS name, which causes start.html not to work. It would be pretty easy to ship a Mac-specific start.html with an updated Platypus wrapper.

Star Pass + Penalty causes Box button to not reset

Reported by RH on Facebook:

Jammer and Pivot selected from drop downs, star pass occurs, the pivot (now jammer) goes to the box, box button is pressed for the pivot. Jam ends, pivot is "promoted" to jammer and the red background on the box button follows as expected, after the new jam begins the jammer is released and the box button pushed to clear them from the box - and here's the bug - the red highlight/background on the box button for the jammer doesn't clear.

If the jammer is set to "no jammer" it'll clear the red highlight on the box button. I've also verified that pushing the box button clears the skater from the box on the scoreboard assistant screen (even though the red highlight remains on the operator screen.)

REQUEST: Add button to main interface to restart period clock and lineup clock after an OTO, where there are <:30s left on period clock.

In prior releases, it was possible to automate this process by binding the old stop TO, start lineup, start Period clock buttons to a single key. Now that these buttons were removed, this is no longer possible.

This is a business rule that is required by the rules of roller derby, and it happens often enough that we need a proper button for it.

Maybe locate it somewhere nearby to where we put the new endTO/startLineup button?

REQUEST: Overtime Jam Trigger

So I had an overtime jam, what would be fantastic is if the scores are tied and the Period is 2 and the period clock is 0 (or 30min) depending on how the backend sees it, that it automatically suggests "DO YOU WANT AN OT JAM?" or the OT jam highlights/flashes in some way.

Like how the "END OF PERIOD CONTROLS" glows when we go into unofficial final.

Update Java Dependencies

The version of jetty used by CRG is way past EOL and no longer maintained, we should investigate the possibilities of updating to the latest jetty.

Old vs. New Question

Hi! I am new to using the Scoreboard software in general. Our league currently has an older version and I am considering updating to the new one. Besides having the Pivot drop down option, what are some of the other options/perks available with the new version? Is it 'worth' updating or just leaving what I currently have?
A few months ago, I heard a lot of "it runs slower and seems to freeze/crash more often than the old version" chatter, but I haven't really heard that lately.
So I'm just wondering, which one to use. If I do update and don't prefer it, can I go back to the older version?
Thank you!

Penatly view not updated if skater number changed

If a skater's number is changed the penalty view (controls/pt/ptcolor.html) is not updated with this, but does show with a refresh. The dialog that pops when you click is updated, so this is likely a js issue.

Clock sync is broken

At current master clock sync is not working, with the period/jam/lineup clocks not advancing on the same second.

In addition there was other clock weirdness. In one case at EuroDerbyCon the period clock expired, then the jam clock, then rather than going to intermission the lineup clock started. We also had two cases where it seems the lineup clock either was running during a jam, or something else that caused it to be over a minute just at the end of the jam. The other two issues were intermission related. I'm suspecting that this is related to the clock sync not working, and wondering if the scoreboard is even usable without clock sync. Edit, this is a different bug. See #118

Make Foul-Out Penalty Count a Ruleset item

(breaking this out from bullseye555's comment in #66 as it's a bit more of an undertaking than the other style tweaks)

Can I add one to this - an option in Ruleset (or policies or config, whichever path it goes down) to be able to set # penalties in a game. Then when you're running a 20 min half game with reduced number of penalties, the PT and IWB screens will have their colour highlights based on that (eg: set 5 penalties instead of 7, and it will yellow at 3, orange at 4 and red at 5 etc)(can also open another ticket, if deemed too far from the original to be included in it)

I think this is a good use of a Ruleset item, and we'll need to update the warning thresholds to be keyed off of this value as well, instead of just based on 7. I don't think we should allow more than 9 penalties for display reasons, however (Do Rules have a concept of maximum possible value, outside of how Clock objects work?)

Official Review Retained Colors incorrect if dot color specified

When the scoreboard dots are set to red, the "retained review" cross becomes black on red, not red with a transparent background.

I see why this is happening;

  1. The normal OR dot is actually an empty css element with rounded corners inside a div. The dot has a background color set to black, and the div has no background color.
  2. When an OR is retained in this case, the dot element is replaced with two other containers, a vertical stripe and a horizontal one. Each of those containers has a color of black, and they overlap to make a cross. The new "dot retained" element has a background of "none" so it shows the background color.
  3. However, when a color is set for the scoreboard dots, rather than being assigned to the elements inside the div, it is rather assigned to the div itself. That means that when the cross is generated, it's still black, and the transparent background shows the color of the div through on the corners.

What needs to happen is that when a color is assigned for the scoreboard dots, it gets assigned to the crossbars, and to the Dot element, but NOT to the background of the div itself.

Errors on Start - 3.9.2a and 3.9.0

ScoreBoard update of unknown type. prop: AddTeam, v: com.carolinarollergirls.scoreboard.defaults.DefaultTeamModel@ba4d54 v.getClass(): class com.carolinarollergirls.scoreboard.defaults.DefaultTeamModel
ScoreBoard update of unknown type. prop: AddTeam, v: com.carolinarollergirls.scoreboard.defaults.DefaultTeamModel@1117f44 v.getClass(): class com.carolinarollergirls.scoreboard.defaults.DefaultTeamModel
ScoreBoard update of unknown type. prop: AddClock, v: com.carolinarollergirls.scoreboard.defaults.DefaultClockModel@369c4 v.getClass(): class com.carolinarollergirls.scoreboard.defaults.DefaultClockModel
ScoreBoard update of unknown type. prop: AddClock, v: com.carolinarollergirls.scoreboard.defaults.DefaultClockModel@1e94b0f v.getClass(): class com.carolinarollergirls.scoreboard.defaults.DefaultClockModel
ScoreBoard update of unknown type. prop: AddClock, v: com.carolinarollergirls.scoreboard.defaults.DefaultClockModel@170c109 v.getClass(): class com.carolinarollergirls.scoreboard.defaults.DefaultClockModel
ScoreBoard update of unknown type. prop: AddClock, v: com.carolinarollergirls.scoreboard.defaults.DefaultClockModel@1ed40e0 v.getClass(): class com.carolinarollergirls.scoreboard.defaults.DefaultClockModel
ScoreBoard update of unknown type. prop: AddClock, v: com.carolinarollergirls.scoreboard.defaults.DefaultClockModel@675690 v.getClass(): class com.carolinarollergirls.scoreboard.defaults.DefaultC

Conditional tweets are not triggered by a clock that is counting down

It works when the respective clock is counting up. It does not work with the triggering clock counting down.

Example: Tweet that Jam has started, five seconds into the Jam. Neither %cjts=115, nor %cjtms=1:55 trigger a tweet when the Jam clock is counting down. It works however, if the Jam clock is counting up.

The same goes for the pre-set tweets every five minutes of the period. They do not work unless the period clock is counting up.

MAC version unable to open

Current System

MAC OS 10.12.5
JAVA 8 update 161 (build 1.8.0_161-b12)

When dbl click the app attempts to open and then auto closes. Likely to be a legacy Java issue on Mac ?

Can anyone confirm similar or a fix workaround. Ive just become involved with local derby team and need to score this weekend.

Releases should include empty Black and White team

With "Start New Game" becoming effectively required, having to go and create two new teams to get going is annoying - particularly if you don't know how to use the scoreboard already.

I suggest that two empty teams be included out of the box (Black and White, as that's common for scrimmage and unranked games) to make this easier for users who are getting started.

Replace GetOpt library

the GetOpt library is licensed under GPLv2, and thus (to my understanding) prevents actually dual-licensing the scoreboard under Apache/GPLv2.

The only place we use GetOpt is to pass arguments in Main.java. commons-cli would be a good replacement.

No Cache to prevent browser issues

As discussed in the dev group, the caching tends to cause issues between the versions. Perhaps we need to enforce the "no-cache" policy on the java web server to help minimise issues.

Interactive Overlay (2017 Version)

Complete new DDTV 2017 "interactive" overlay with Roster & Penalty support.

The overlay has been redesigned and re-coded for better display on broadcast devices (supporting HD/720 & FullHD/1080), configurable sizing, fonts and positioning with more flexible and forgiving CSS than the 2015 version.

image

Text-based penalty whiteboard mobile view

The PWB view is not optimised for mobile devices. Please add this (or similar) to the CSS, so that if coaches access the PWB on their phones they see the teams vertically instead of next to each other:

@media only screen and (max-width: 1023px) {
.Team.Team1, .Team.Team2 {
position: relative;
width:100%;
display:block;
margin:0;
padding-bottom:2em;
}
}

Performance issue with large numbers of teams

When large numbers of teams are in use for a tournament performance issues have been noticed when utilising the Team screen; these may affect other viewers of the scoreboard and cause delays in clients updating.

Investigate improving performance of team data.

Expulsion should allow selection of a penalty

Current standard practices (on paper) are that when a skater is expelled, a penalty code is entered on the paperwork, not "EXP". We should probably update the penalty tracker to follow this practice. Recommended method: When the FO/EXP box is clicked, instead of the only options being "FO" and "EXP", the option screen should start with "FO," and then list unique EXP options for each possible foulout code.

My understanding at present (reflected in the statsbook) is that EXP codes would not be needed for "I" or "X".

For example:
"FO" "EXP-A" "EXP-B", "EXP-C", "EXP-D", etc...

PLT Tracking Page - Auto Sizing Functions

From BrewHaHa this weekend...

  1. Can the rows autoheight so they expand to be bigger if there's fewer skaters?

I would expand this to adjust the view depending on the display size also and the number of skaters.

REQUEST: Team Import / Export

Was discussing with rob at Epic Scrim about the usefulness of IMPORT EXPORT.

When I'm setting up the 3 servers for URDP (which all pull the single xml repository), it saves me having to enter 26 teams into the system when I can create one big spreadsheet and hit "IMPORT" instead of having to type in up to 260 skaters into the system.

Increasing lag by the end of the game.

Multiple WFTDA tournaments have reported that the clocks have been lagging to a greater and greater degree over the course of a game. By the end of the second half, lag can accumulate up to as much as several seconds. This is obviously a critical issue for a piece of timing software. I'll attach reports below from several tournaments.

It appears that throwing CPU speed at the problem is presently the only thing that improves the situation.

Udder Chaos

Running CRG on an i5 laptop, scoreboard operator is on the same computer. This computer is dedicated to CRG - it has nothing else installed (running Win 10).

The overlay computer and the scoreboard projection computer are both remote and show lag.

Also have 4 computers showing the electronic whiteboard.

Restarting CRG before each game, clearing the chrome cache at the same time as the restart.

The CRG scoreboard is lagging.
It doesn't lose time on the game clock, but it doesn't start the lineup clock until after it finishes lagging.

This is adding from 2-11 seconds to lineup times.

First half nearly over with CRG on Linux Mint, issue is still present. What we are seeing that is the most concerning is that after a jam ends, it takes progressively longer for the lineup clock to start. We've been keeping track, and it's between 45 second and 2 minutes of game time that is run off the clock that shouldn't be - this could definitely have an effect on the outcome of a game.

Previous game we tried only loading in the two teams we were using, no change in the behavior.

The last game on Windows and this game on Linux both lost 45 seconds of game time due to the lineup clock not starting - so Mint definitely isn't the magic bullet.

For our first game today we used a Linux Mint live USB to boot a core i7 box with 24 gb ram (retail price US$1899 for this machine). Things were pretty good until the 20 to 25 minute mark of the second half, where we started losing about 2 seconds after each jam for 75% of jams.

Still not great, but at least we're not losing 2 minutes a game.

Also have projector, overlay, and operators computers all running separately (plus the 3 whiteboards).

One more note, on the i7 box we are seeing CPU usage spike to ~60% as a jam ends, when the lineup clock is supposed to start (on the core2 duo we tried first it would spike to 90%). After the CPU usage drops back down, the clocks are good.

Euroclash

Setup: CRG 3.9.3a running on Linux Mint 18.3, i7 8gb ram laptop, connected by ethernet to the private network, and to the projector. There are digital whiteboard displays in both team benches, the penalty box, THOs table, and announcer table.

Issues:

  • I had similar issues with the digital whiteboards as Jon reported at the Big O, spaces on the display where penalties weren't; penalties disappearing; and something happened to the system whilst I was on a break, that "fixed itself" and no one will give me specifics about!
  • Lag: the lag curve was constant throughout the day, starting out unnoticeable and exponentially getting more laggy towards the middle of the second period where it seems to level out at around 2 seconds of lag. THOs and crew heads happy that this is an acceptable amount of lag.
    ○ Steps taken to deal with the lag included going to the JSON scoreboard display which has a bug where banner ads aren't being displayed (no change); and restarting the entire scoreboard server machine before the final game of the day (big change). I am planning on including this in the order of operations before starting a new game (current procedure being at the end of the game to kill the app, restart it and then use "Start New Game")

From personal testing the load is on the cpu, not necessarily the ram capacity (but more cannot hurt!)

Can't change team Alternate name from Team/Time screen

If you click on a team name you get two text boxes with the team name, and the operator alternate name. You can change the team name here, but when you click on the 2nd textbox both textboxes are then hidden. This textbox should either work (preferred), or be removed.

screenshot_2018-07-24_16-04-06

Revise introductory wiki topics and update README.

Some of the structure in the wiki needs to be revised for clarity, moving material from the Installing the Scoreboard page to the main home page.

Also, the Quick Start Guide needs to be revised for clarity and consistency. Most of the changes will involve making the language more neutral.

These edits will also include the material on compiling the .jar from issue #40 from @domagalski.

Move penalty definitions into a runtime-loaded file

This issue tracks leftover work from #24 and #45/#52. I am planning on working on this, but just wanted to give it visibility.

Rather than having penalty information hard-coded into ScoreBoardJSONListener, there should be a separate file that contains penalty definition information, like codes, verbal cues, etc. This file should load when the scoreboard starts up, so that if/when verbal cues change, the file can be updated by operators without waiting for and testing a new release.

I also sort of want to rework the way penalties data is loaded into the PT sheet, but may leave it as a part of the WebSocket firehose for now.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.