Dorion Mode

April 30, 2021

Elvin Coaljob's Euloran Gatherings

Filed under: Eulora, JWRD — Robinson Dorion @ 03:26

With the client booted and account creds submitted, Elvin Coaljob was delivered to the shores of Eulora landing on a beach with a big hill behind him and two small islands a short distance across the water.

He stumbled onto the beach and got the bearings of his mind's eye by tracing his finger across the symbols on his brow, from right to left : a headstone to quit, a question mark for help, a gear for options, a clock and a corked flask filled with purple fluid for information, a blue covered dead tree book with a star affixed to the front to mark spells, a paper and quill for quests, a backpack of inventory, a hammer and rolling pin for stats and skills, a dialogue bubble for communications and a window to hide the toolbar with a right click and change its style with a left click of the digital finger.

Next he inspected the window with tabs on the left hand margin reading : Main, Channels, NPC, Whisper, Guild, Group. The body of the window is broken into a fat response window atop a thin command input window. He got a feel for the key controls on the board and satisfied the urge to get a better view of the land and sea by first walking, then running up the hill. Out of virtual breath, but nevertheless invigorated, he issued the /pos command which yielded, "Your current position is 7.780 44.860 298.620".


Above, the beach, below, the hill with town in the distance.


He stood for quite a while --some may say too long-- and consulted the various help pages1 which both emerged from his ancestral memory and which he found by following the layers of links within links in the reading on Eulora, commands, claims, mining, crafting, index of resources, tidbits, maps, bots and more you'll have to track down for yourself.

He tried some explores and started finding some claims to resources, first some Boulders, then Rickety Reeds and Clumps of Dry Grass and Solid Branches and Bird's Nests. Claims consist of an exploration marker, a key to lock and unlock the claim and a scroll with directions (aka enumerations, recipes, blue prints) for how to build it. He noticed a that after some time, his keys were turning to Little Bits O' Nothing, but that's precisely what Tiny claims call for. Before long, after reading about Eulora's first grade, he tried his hand at building some of the claims himself2.

He met up with Foxy Foxster by the fire in the town and took her up on the deal she offers for the lbn at 110% of the quality adjusted base value. She fronted him the enumeration and materials to build a craft table for crafting things, which yielded two tables and tinker's petrified feelings and sentiments. He paid her back in lbn the next day.

While he was getting some coppers for the lbn he was accumulating, he wasn't getting any experience because he didn't have any skills! This means he was acting like a fungible click slave, so he decided to choose differently. Through whispering with Foxy, he decided he wanted to pursue the skill of gathering as a starting point to get a better lay of the land and perhaps a bit of the sea. Lucky for him she had quite a few of the gathering skill books, one of which she gifted him. He took the question mark that was the skill and voila, now each time he explored he started gaining experience. After enough time at a given level he'd stop gaining experience and would have to level up by paying for training from the NPC that hangs out in town, one Heina Draggenfort. Heina didn't quote Elvin how much leveling up will cost ; if he had enough money for the level, he got it and if he didn't have the money, she told him so. The cost is determined by how much is expended at a given level. In Elvin's case, he's exploring bare handed so far, so the damage3 done to his body goes into the training. When he starts using tools, each use of the tools will reduce their durability, the value of which will be the input when he trains. By now he's at level 35 in gathering and the cost to level up has increased each time, and on top of that, the rate of the increase has increased each time ; i.e. the slope of the training costs and its derivative have yet to abate. As the Euloran saying goes, "The best things in life are actually quite expensive".

Once young Coaljob started leveling up, his activity was limited by his few residual coppers from prior trades and waiting to trade his teeny tiny little bitty baby batches of lbn with Foxy. He offered to buy some coppers for Bitcoin from her and she countered with an offer to front a stack's worth of lbn, which turns out to be the magic number of 99994. As the lbn Elvin was accumulating was consistently quality 11, with a base value of 11, and factoring in the 10% premium Foxy pays, this came out to 0.11*11*1.1*9999 = 13309 ECu.

As Elvin let the Foxybot loose and leveled up, he started to gather a more diverse array of resources and claim types. For some, seeing is believing, so have a map.


I modified the map1.script to awk for the claim type rather than resource type.


By now Elvin's has over 2/3 of the lbn stack he owes Foxy and is getting his bearings on the environment and its constraints to improve the automation on the lbn gathering process and his returns.

  1. With the client I'm using, system logs were not enabled by default (chat, crafting, exploring, position and recipes were), but were switched on via Options -> Interface -> Chat Logs. []
  2. He's not in first grade yet as he doesn't have the building skill. []
  3. He's died a bunch of times by now. Fortunately, death is the only free thing in Eulora atm. []
  4. Because the Planeshift monkeys sprinkled it into the coad legacy Eulora is based from and which couldn't handle any bigger stacks. []

December 24, 2020

Eulora v0.1.2 client on JWRD Gentoo

Filed under: Eulora, JWRD — Robinson Dorion @ 23:45

Working down the path of playing the masterclass in economy, I managed to build the Eulora v1 client on Gentoo. Once I got the initial environment set up, I followed the Diana Coman's installation notes which provide the lists of dependencies, but in debianspeak. My first task was then to figure what those mean in terms of Gentoo, the results of which are presented in the table below. As you can see, the footnotes provide insight to the USE flags I used as well as any dependencies that were pulled in during the process.

Debian/Ubuntu 10 Gentoo
autoconf sys-devel/autoconf1
bison sys-devel/bison2
build-essential N/A3
curl net-misc/curl4
doxygen app-doc/doxygen5
flex sys-devel/flex6
ftjam dev-util/ftjam7
g++ Rolled in GCC build8
lib3ds-dev media-libs/lib3ds9
libasound-dev media-libs/alsa-lib10
libcairo-dev x11-libs/cairo11
libcairomm-1.0-dev dev-cpp/cairomm12
libcal3d-dev media-libs/cal3d13
libcppunit-dev dev-util/cppunit14
libfreetype6-dev media-libs/freetype15
libgl1-mesa-dev x11-libs/libGLw 16
libgtk2.0-dev x11-libs/gtk+-217
liblcms-dev media-libs/lcms18
libmng-dev media-libs/libmng19
libode-dev dev-games/ode20
libogg-dev media-libs/libogg21
libopenal-dev media-libs/openal22
libpng12-dev media-libs/libpng23
libspeex-dev media-libs/speex24
libtool sys-devel/libtool25
libvorbis-dev media-libs/libvorbis26
libwxbase2.8-dev x11-libs/wxGTK27
libwxgtk2.8-dev Included in x11-libs/wxGTK
libx11-dev x11-libs/libX128
libxaw7-dev x11-libs/libXaw29
libxext-dev x11-libs/libXext30
libxrender-dev x11-libs/libXrender31
libxxf86vm-dev x11-libs/libXxf86vm32
mesa-common-dev media-libs/mesa33
nvidia-cg-toolkit media-gfx/nvidia-cg-toolkit34
pkg-config dev-util/pkgconfig35
python-dev N/A, Ref
subversion dev-vcs/subversion36
swig dev-lang/swig37
zlib1g-dev sys-libs/zlib38

From there, I followed I followed her guide from step 3 nearly verbatim.

gpg --verify cal3d.tar.gz.diana_coman.sig cal3d.tar.gz
gpg --verify cal3d.tar.gz.diana_coman.sig cal3d.tar.gz
gpg --verify eulora-v0.1.2b.tar.gz.diana_coman.sig eulora-v0.1.2b.tar.gz
tar -zxvf cal3d.tar.gz
tar -zxvf cs_July24.tar.gz
tar -zxvf eulora-v0.1.2b.tar.gz
cd cal3d ; autoreconf --install --force
./configure --prefix=$HOME/dev/cal3d
make install
export LD_LIBRARY_PATH=$HOME/dev/cal3d/src/cal3d/.libs/:$LD_LIBRARY_PATH
cd ../cs-forupload/
./configure --without-java --without-perl --without-python --without-3ds --with-cal3d=$HOME/dev/cal3d39

(as root)
ln -s /usr/bin/jam /usr/bin/ftjam
(as non-root)
time ftjam -aq libs plugins cs-config walktest40
cd EuloraV0.1.2/
export CRYSTAL=$HOME/dev/cs-forupload
./configure --with-cal3d=$HOME/dev/cal3d
ftjam -aq client
export LD_LIBRARY_PATH="$HOME/dev/cal3d/src/cal3d/.libs/:$HOME/dev/cs-forupload/:"$LD_LIBRARY_PATH
vim eu.sh41
chmod +x
cd data/
vim servers.xml42
cd ..

Et voila.


  1. [ebuild R ] sys-devel/autoconf-2.69:2.5::gentoo USE="-emacs" 1187 KiB []
  2. [ebuild R ] sys-devel/bison-3.0.4-r1::gentoo USE="examples* -nls* -static {-test}" 0 KiB []
  3. Debianism afaiu []
  4. [ebuild R ] net-misc/curl-7.54.1::gentoo USE="ssl -adns -http2 -idn -ipv6 -kerberos -ldap -metalink -rtmp -samba -ssh -static-libs {-test} -threads" ABI_X86="(64) -32 (-x32)" CURL_SSL="openssl -axtls -gnutls (-libressl) -mbedtls -nss (-winssl) []
  5. [ebuild N ] media-libs/jbig2dec-0.13-r4::gentoo USE="-png -static-libs {-test}" 0 KiB
    [ebuild N ] app-text/poppler-data-0.4.7::gentoo 0 KiB
    [ebuild N ] app-arch/cpio-2.12-r1::gentoo USE="-nls" 0 KiB
    [ebuild N ] media-libs/lcms-2.8-r1:2::gentoo USE="threads zlib -doc -jpeg -static-libs {-test} -tiff" ABI_X86="(64) -32 (-x32)" 0 KiB
    [ebuild N ] app-text/libpaper-1.1.24-r2::gentoo ABI_X86="(64) -32 (-x32)" 0 KiB
    [ebuild N ] app-arch/rpm2targz- 0 KiB
    [ebuild N ] media-libs/openjpeg-2.1.1_p20160922:2/7::gentoo USE="-doc -static-libs {-test}" ABI_X86="(64) -32 (-x32)" 0 KiB
    [ebuild N ] media-fonts/urw-fonts-2.4.9::gentoo USE="X" 0 KiB
    [ebuild N ] app-text/ghostscript-gpl-9.21::gentoo USE="X -cups -dbus -gtk -static-libs -tiff -unicode" L10N="-de -ja -ko -zh-CN -zh-TW" 28488 KiB
    [ebuild N ] app-doc/doxygen-1.8.13-r1::gentoo USE="debug -clang -doc -dot -doxysearch -latex -qt5 (-sqlite)" 4784 KiB []
  6. [ebuild R ] sys-devel/flex-2.6.1::gentoo USE="-nls* -static {-test}" ABI_X86="(64) -32 (-x32)" 0 KiB []
  7. [ebuild N ] dev-util/ftjam-2.5.3_rc2-r1::gentoo installed at /usr/bin/jam, I made ln -s /usr/bin/jam /usr/bin/ftjam []
  8. Some insight on g++

    Keruskerfuerst is right, the "bootstrap" and "build" USE flags should only be used while creating the stage1 and stage2 tarballs, which do not include C++ support. Rebuild gcc without these flags and you should be all set (anyways, do a revdep-rebuild after that for any possible libraries missing).

    [ebuild R ] sys-devel/gcc-4.9.4:4.9.4::gentoo USE="cxx debug* (multilib) nptl openmp sanitize vtv (-altivec) (-awt) -cilk -doc (-fixed-point) -fortran* -gcj -go -graphite (-hardened) (-libssp) -nls* -nopie -nossp -objc -objc++ -objc-gc -regression-test -vanilla" []

  9. [ebuild N ] media-libs/freeglut-3.0.0::gentoo USE="debug -static-libs" ABI_X86="(64) -32 (-x32)" 410 KiB
    [ebuild N ] media-libs/lib3ds-2.0.0_rc1::gentoo 418 KiB []
  10. [ebuild R ] media-libs/alsa-lib-1.1.2::gentoo USE="debug -alisp -doc -python" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS="python2_7" 0 KiB []
  11. [ebuild R ] x11-libs/cairo-1.14.8::gentoo USE="X debug* glib opengl* svg (-aqua) (-directfb) (-gles2) -static-libs -valgrind -xcb" ABI_X86="(64) -32 (-x32)" 0 KiB []
  12. [ebuild N ] dev-libs/libsigc++-2.10.0:2::gentoo USE="-doc -static-libs {-test}" ABI_X86="(64) -32 (-x32)" 3706 KiB
    [ebuild N ] dev-cpp/cairomm-1.12.0-r1::gentoo USE="X svg (-aqua) -doc" ABI_X86="(64) -32 (-x32)" 772 KiB []
  13. [ebuild N ] media-libs/cal3d-0.11.0-r1::gentoo USE="debug -16bit-indices -doc" 556 KiB []
  14. [ebuild N ] dev-util/cppunit-1.13.2-r2::gentoo USE="examples -doc -static-libs" ABI_X86="(64) -32 (-x32)" 932 KiB []
  15. [ebuild R ] media-libs/freetype-2.8:2::gentoo USE="X* adobe-cff bindist bzip2 cleartype_hinting debug* -doc -fontforge -harfbuzz -infinality -png -static-libs -utils" ABI_X86="(64) -32 (-x32)" 0 KiB []
  16. Hat tip on the ref

    By default, it pulled in the list below. Apparently motif is a gui thing that didn't look necessary.

    [ebuild N ] dev-util/byacc-20170201::gentoo 725 KiB
    [ebuild N ] x11-proto/printproto-1.0.5-r1::gentoo ABI_X86="(64) -32 (-x32)" 218 KiB
    [ebuild N ] x11-libs/libXp-1.0.3::gentoo USE="-static-libs" ABI_X86="(64) -32 (-x32)" 310 KiB
    [ebuild N ] x11-libs/motif-2.3.6-r1::gentoo USE="examples motif22-compatibility -jpeg -png -static-libs -unicode -xft" ABI_X86="(64) -32 (-x32)" 5593 KiB
    [ebuild N ] x11-libs/libGLw-8.0.0::gentoo USE="motif -static-libs" 216 KiB

    I tried: `echo "x11-libs/libGLw -motif" >> /etc/portage/package.use/xorg-server` and re-emerging, but even with -motif it still tries to pull it in, so I re-enabled the default above and emerged.

    Still pulling everything in, remove the -motif and build default above
    [ebuild N ] dev-util/byacc-20170201::gentoo 725 KiB*
    [ebuild N ] x11-proto/printproto-1.0.5-r1::gentoo ABI_X86="(64) -32 (-x32)" 218 KiB
    [ebuild N ] x11-libs/libXp-1.0.3::gentoo USE="-static-libs" ABI_X86="(64) -32 (-x32)" 310 KiB
    [ebuild N ] x11-libs/motif-2.3.6-r1::gentoo USE="examples motif22-compatibility -jpeg -png -static-libs -unicode -xft" ABI_X86="(64) -32 (-x32)" 5593 KiB**
    [ebuild N ] x11-libs/libGLw-8.0.0::gentoo USE="-motif -static-libs" 216 KiB

    * not on mirrors: wget
    ** not on mirrors : sourced from []

  17. [ebuild R ] x11-libs/gtk+-2.24.31-r1:2::gentoo USE="examples introspection xinerama (-aqua) -cups {-test} -vim-syntax" ABI_X86="(64) -32 (-x32)" 0 KiB

    * Messages for package x11-libs/gtk+-2.24.31-r1:

    * Please install app-text/evince for print preview functionality.
    * Alternatively, check "gtk-print-preview-command" documentation and
    * add it to your gtkrc.

    I looked into it to see what it's about, and this evince thing requires gtk3, which requires dbus, which is masked. libjpeg-dev media-libs/jpeg (([ebuild N ] media-libs/jpeg-8d-r1::gentoo USE="static-libs" ABI_X86="(64) -32 (-x32)" 982 KiB []

  18. [ebuild R ] media-libs/lcms-2.8-r1:2::gentoo USE="threads zlib -doc -jpeg -static-libs {-test} -tiff" ABI_X86="(64) -32 (-x32)" 0 KiB []
  19. [ebuild N ] media-libs/libmng-2.0.2-r1:0/2::gentoo USE="lcms -static-libs" ABI_X86="(64) -32 (-x32)" 930 KiB []
  20. [ebuild N ] dev-games/ode-0.12::gentoo USE="debug examples -doc -double-precision -gyroscopic -static-libs" 1774 KiB []
  21. [ebuild R ] media-libs/libogg-1.3.2::gentoo USE="-static-libs" ABI_X86="(64) -32 (-x32)" 0 KiB []
  22. [ebuild N ] media-libs/openal-1.15.1-r2::gentoo USE="alsa debug (-coreaudio) (-neon) -oss -portaudio -pulseaudio" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="sse" 248 KiB
    This one wasn't on the mirrors:



  23. [ebuild R ] media-libs/libpng-1.6.27:0/16::gentoo USE="apng (-neon) -static-libs" ABI_X86="(64) -32 (-x32)" 0 KiB []
  24. [ebuild N ] media-libs/speex-1.2_rc1-r2::gentoo USE="-ogg -static-libs" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="sse" 0 KiB []
  25. [ebuild R ] sys-devel/libtool-2.4.6-r3:2::gentoo USE="-vanilla" 951 KiB []
  26. [ebuild R ] media-libs/libvorbis-1.3.5::gentoo USE="-static-libs" ABI_X86="(64) -32 (-x32)" 0 KiB []
  27. Ref1, Ref2
    [ebuild N ] app-eselect/eselect-wxwidgets-20140423::gentoo 7 KiB
    [ebuild R ] x11-libs/pango-1.40.5::gentoo USE="X* introspection {-test}" ABI_X86="(64) -32 (-x32)" 0 KiB
    [ebuild N ] x11-libs/wxGTK- USE="X debug (-aqua) -doc -gstreamer -libnotify -opengl -sdl -tiff -webkit" ABI_X86="(64) -32 (-x32)" 56939 KiB []
  28. [ebuild R ] x11-libs/libX11-1.6.5::gentoo USE="-doc -ipv6 -static-libs {-test}" ABI_X86="(64) -32 (-x32)" 0 KiB []
  29. Ref
    [ebuild R ] x11-libs/libXaw-1.0.13::gentoo USE="-deprecated -doc -static-libs" ABI_X86="(64) -32 (-x32)" 0 KiB []
  30. Ref
    [ebuild R ] x11-libs/libXext-1.3.3::gentoo USE="-doc -static-libs" ABI_X86="(64) -32 (-x32)" 0 KiB []
  31. [ebuild R ] x11-libs/libXrender-0.9.10::gentoo USE="-static-libs" ABI_X86="(64) -32 (-x32)" 0 KiB []
  32. [ebuild R ] x11-libs/libXxf86vm-1.1.4::gentoo USE="-static-libs" ABI_X86="(64) -32 (-x32)" 0 KiB []
  33. Ref
    [ebuild R ] media-libs/mesa-17.0.6::gentoo USE="bindist classic debug* dri3 egl gallium gbm llvm nptl -d3d9 -gles1 -gles2 -opencl -openmax -osmesa -pax_kernel -pic (-selinux) -vaapi -valgrind -vdpau -vulkan -wayland -xa -xvmc" ABI_X86="(64) -32 (-x32)" VIDEO_CARDS="r600 radeon (-freedreno) -i915 -i965 -imx -intel -nouveau -r100 -r200 -r300 -radeonsi (-vc4) (-vivante) -vmware" 0 KiB []
  34. [ebuild N ] media-gfx/nvidia-cg-toolkit-3.1.0013-r3::gentoo USE="examples -doc" ABI_X86="(64) -32" 24248 KiB []
  35. [ebuild R ] dev-util/pkgconfig-0.28-r2::gentoo USE="-hardened -internal-glib" ABI_X86="(64) -32 (-x32)" 0 KiB []
  36. [ebuild N ] dev-libs/apr-1.5.2:1::gentoo USE="urandom -doc -older-kernels-compatibility (-selinux) -static-libs" 808 KiB
    [ebuild N ] dev-util/scons-2.4.1::gentoo USE="-doc" PYTHON_TARGETS="python2_7 (-pypy)" 625 KiB
    [ebuild N ] dev-libs/apr-util-1.5.4:1::gentoo USE="berkdb gdbm -doc -freetds -ldap -mysql -nss -odbc -openssl -postgres -sqlite -static-libs" 679 KiB
    [ebuild N ] net-libs/serf-1.3.8:1::gentoo USE="-kerberos" 140 KiB
    [ebuild N ] dev-vcs/subversion-1.9.5::gentoo USE="berkdb debug dso http -apache2 -ctypes-python -doc -extras -gnome-keyring -java -kwallet -nls -perl -python -ruby -sasl {-test} -vim-syntax" PYTHON_TARGETS="python2_7" 7720 KiB

    None of which were on the Gentoo mirrors. I ended up sourcing from the respective links below: []

  37. [ebuild N ] dev-lang/swig-3.0.12::gentoo USE="pcre -ccache -doc" 7959 KiB []
  38. Ref
    [ebuild R ] sys-libs/zlib-1.2.11::gentoo USE="-minizip -static-libs" ABI_X86="(64) -32 (-x32)" 594 KiB []
  39. Which yielded

    *** Crystal Space -- Configuration Summary ***
    Build mode: optimize
    Version: 2.1 (SVN: no)

    Optional Dependencies
    alsa (audio)
    cairo (image)
    cal3d (models)
    curl (other)
    freetype2 (other)
    gtk (other)
    jpeg (image)
    linux-joystick (other)
    mng (image)
    ode (physics)
    ogg (audio)
    openal (audio)
    opengl (rendering)
    oss (audio)
    png (image)
    speex (audio)
    vorbis (audio)
    x11 (rendering)
    zlib (other)

    3ds (models)
    assimp (models)
    bullet (physics)
    cairomm (image)
    cegui (gui)
    cg (rendering)
    jackasyn (audio)
    java (bindings)
    lcms (image)
    perl (bindings)
    python (bindings)
    theoradec (image)
    vgvm (image)
    wxwidgets (gui) []

  40. Her notes say ~30 mins, my results can vouch :

    real 32m31.527s
    user 32m8.751s
    sys 0m52.268s


  41. Into which I inserted :

    export LD_LIBRARY_PATH="$HOME/dev/cal3d/src/cal3d/.libs:$HOME/dev/cs-forupload/:"$LD_LIBRARY_PATH
    export CRYSTAL=$HOME/dev/cs-forupload


  42. To which I inserted :


Powered by WordPress