amhol / openra-ruby Goto Github PK
View Code? Open in Web Editor NEWOpenRA Rubygem
License: MIT License
OpenRA Rubygem
License: MIT License
Outcome time and state is already extracted but time of disconnect could also be useful.
It just doesn't work, find another way.
release-20230225-2.orarep
outputs the time as 00:14:34
, this is the time from the start of the replay recording to the end (including lobby time and post-game chat), should add a game_duration
field with the actual game duration, but processing from the last PauseGame
order gives a time of 14:38
when it should be 12:39
according to the OpenRA reply viewer - perhaps down to latency?
This would allow to quickly assert whether two JSON outputs were generated from the same replay file. This of course can be done later by the software that consumes the JSON but it would be faster to have it readily available in the output.
I've been parsing some release-20180923 replays and noticed that sometimes two nearly identical building placements happen in the span of a few seconds. For example:
{
"structure": "proc",
"game_time": {
"formatted": "00:03:30",
"msec": 210000
},
"placement": {
"x": 66,
"y": 66
}
},
{
"structure": "proc",
"game_time": {
"formatted": "00:03:32",
"msec": 212400
},
"placement": {
"x": 65,
"y": 66
}
},
Here's a replay where that occurs twice (with PROC and WEAP): http://openra.mine.nu/mIRROR/ora_replays/RAGL_Season_Six/R02/Master/RAGL-S06-MASTER-R02-NNG-ZXG-G1.orarep
Hello, I try to get your openra-ruby to run on Ubuntu 20.04 LTS.
I installed ruby as documented for Ubuntu and tried to run, but it failed at the point "`require': cannot load such file -- dry/transformer/all (LoadError)"
I updated to ruby 3.2.2 and still get the same error. I even build it from the source and still get the same error.
Do you have any advice how to solve this issue?
Thank you.
openra replay-data ca-Server-2023-04-11T165851Z.orarep --format pretty-json
<internal:/home/openra/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require': cannot load such file -- dry/transformer/all (LoadError)
from <internal:/home/openra/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from /home/openra/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/openra-4.0.2/lib/openra/struct.rb:3:in `<top (required)>'
from <internal:/home/openra/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from <internal:/home/openra/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from /home/openra/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/openra-4.0.2/lib/openra/replays.rb:9:in `<top (required)>'
from <internal:/home/openra/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from <internal:/home/openra/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from /home/openra/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/openra-4.0.2/lib/openra/commands.rb:3:in `<top (required)>'
from <internal:/home/openra/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from <internal:/home/openra/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from /home/openra/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/openra-4.0.2/lib/openra/cli.rb:7:in `<top (required)>'
from <internal:/home/openra/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from <internal:/home/openra/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from /home/openra/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/openra-4.0.2/lib/openra-cli.rb:3:in `<top (required)>'
from <internal:/home/openra/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from <internal:/home/openra/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from /home/openra/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/openra-4.0.2/bin/openra:4:in `<top (required)>'
from /home/openra/.rbenv/versions/3.2.2/bin/openra:25:in `load'
from /home/openra/.rbenv/versions/3.2.2/bin/openra:25:in `<main>'
gem env
RubyGems Environment:
- RUBYGEMS VERSION: 3.4.12
- RUBY VERSION: 3.2.2 (2023-03-30 patchlevel 53) [x86_64-linux]
- INSTALLATION DIRECTORY: /home/openra/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0
- USER INSTALLATION DIRECTORY: /home/openra/.gem/ruby/3.2.0
- RUBY EXECUTABLE: /home/openra/.rbenv/versions/3.2.2/bin/ruby
- GIT EXECUTABLE: /usr/bin/git
- EXECUTABLE DIRECTORY: /home/openra/.rbenv/versions/3.2.2/bin
- SPEC CACHE DIRECTORY: /home/openra/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /home/openra/.rbenv/versions/3.2.2/etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /home/openra/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0
- /home/openra/.gem/ruby/3.2.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => true
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /home/openra/.rbenv/versions/3.2.2/bin
- /home/openra/.rbenv/libexec
- /home/openra/.rbenv/plugins/ruby-build/bin
- /home/openra/.rbenv/shims
- /home/openra/.rbenv/bin
- /home/openra/.rbenv/shims
- /home/openra/.rbenv/bin
- /home/openra/.rbenv/shims
- /home/openra/.rbenv/bin
- /home/openra/.local/bin
- /usr/local/sbin
- /usr/local/bin
- /usr/sbin
- /usr/bin
- /sbin
- /bin
- /usr/games
gem list --local
*** LOCAL GEMS ***
abbrev (default: 0.1.1)
base64 (default: 0.1.1)
benchmark (default: 0.2.1)
bigdecimal (default: 3.1.3)
bindata (2.4.15)
bundler (2.4.12)
cgi (default: 0.3.6)
coderay (1.1.3)
concurrent-ruby (1.2.2)
csv (default: 3.2.6)
date (default: 3.3.3)
debug (1.7.1)
delegate (default: 0.3.0)
did_you_mean (default: 1.6.3)
diff-lcs (1.5.0)
digest (default: 3.1.1)
docile (1.4.0)
drb (default: 2.1.1)
dry-cli (1.0.0)
dry-core (1.0.0)
dry-inflector (1.0.0)
dry-logic (1.5.0)
dry-struct (1.6.0)
dry-transformer (1.0.1, 1.0.0, 0.1.1)
dry-types (1.7.1)
english (default: 0.7.2)
erb (default: 4.0.2)
error_highlight (default: 0.5.1)
etc (default: 1.4.2)
fcntl (default: 1.0.2)
fiddle (default: 1.1.1)
fileutils (default: 1.7.0)
find (default: 0.1.1)
forwardable (default: 1.3.3)
getoptlong (default: 0.2.0)
ice_nine (0.11.2)
io-console (default: 0.6.0)
io-nonblock (default: 0.2.0)
io-wait (default: 0.3.0)
ipaddr (default: 1.2.5)
irb (default: 1.6.2)
json (default: 2.6.3)
logger (default: 1.5.3)
matrix (0.4.2)
memory_profiler (1.0.1)
method_source (1.0.0)
minitest (5.16.3)
mutex_m (default: 0.1.2)
net-ftp (0.2.0)
net-http (default: 0.3.2)
net-imap (0.3.4)
net-pop (0.1.2)
net-protocol (default: 0.2.1)
net-smtp (0.3.3)
nkf (default: 0.1.2)
observer (default: 0.1.1)
open-uri (default: 0.3.0)
open3 (default: 0.1.2)
openra (4.0.2)
openssl (default: 3.1.0)
optparse (default: 0.3.1)
os (1.1.4)
ostruct (default: 0.5.5)
pathname (default: 0.2.1)
power_assert (2.0.3)
pp (default: 0.4.0)
prettyprint (default: 0.1.1)
prime (0.1.2)
pry (0.14.2)
pstore (default: 0.1.2)
psych (default: 5.0.1)
racc (default: 1.6.2)
rake (13.0.6)
rbs (2.8.2)
rdoc (default: 6.5.0)
readline (default: 0.0.3)
readline-ext (default: 0.1.5)
reline (default: 0.3.2)
resolv (default: 0.2.2)
resolv-replace (default: 0.1.1)
rexml (3.2.5)
rinda (default: 0.1.1)
rspec (3.12.0)
rspec-core (3.12.1)
rspec-expectations (3.12.2)
rspec-mocks (3.12.5)
rspec-support (3.12.0)
rss (0.2.9)
ruby2_keywords (default: 0.0.5)
rubygems-update (3.4.12)
securerandom (default: 0.2.2)
set (default: 1.0.3)
shellwords (default: 0.1.0)
simplecov (0.22.0)
simplecov-html (0.12.3)
simplecov_json_formatter (0.1.4)
singleton (default: 0.1.1)
stackprof (0.2.25)
stringio (default: 3.0.4)
strscan (default: 3.0.5)
syntax_suggest (default: 1.0.2)
syslog (default: 0.1.1)
tempfile (default: 0.1.3)
test-unit (3.5.7)
time (default: 0.2.2)
timeout (default: 0.3.1)
tmpdir (default: 0.1.3)
tsort (default: 0.1.1)
typeprof (0.21.3)
un (default: 0.2.1)
uri (default: 0.12.1)
weakref (default: 0.1.2)
yaml (default: 0.2.1)
zeitwerk (2.6.7)
zlib (default: 3.0.0)
This should be pretty simple for production macros, just look for patterns in the "StartProduction" commands / target string and some calculation on the frametime.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.