Giter VIP home page Giter VIP logo

tinyfugue's Introduction

TinyFugue - Rebirth

CI GitHub Release

This project is meant to give rebirth to TinyFugue MUD client.

Because Ken Keys is not activelly developing it from 6 years and i gathered a lot of pathes over that time in that time i decided to push them together.

New features

Python support

To enable:

./configure --enable-python

Lua support

To enable:

./configure --enable-lua

Widechar support

Widehar is enabled by default. Widechar requires icu libraries to be installed on system (libicu-dev on ubuntu).

To disable:

./configure --disable-widechar

New telnet options

- ATCP
- GMCP
- option 102
To enable compile with:
	--enable-atcp		enable ATCP support	
	--enable-gmcp		enable GMCP support	
	--enable-option102	enable telnet option 102 support	

New logging options

- Timestamp logging
- Ansi logging

New versioning scheme

Because version was not changed ower last 14 years I have decided to go with normal versioning to allow easy distinguish different new versions. I started with version 5.1.0 and will use try to follow Semantic Versioning

Copyright

Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2003, 2004, 2005, 2006-2007 Ken Keys ([email protected])

http://tinyfugue.sourceforge.net/

Oryginal README

tinyfugue's People

Contributors

amykwod avatar dinoex avatar dlschauer avatar eltharion avatar ingwarsw avatar kailip avatar lotheac avatar maxhauser avatar stuartyeates avatar thestranjer avatar vashti avatar vulpineamethyst avatar warmstarter avatar willxy 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

Watchers

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

tinyfugue's Issues

python enhancements

Not sure if you're interested, but I made a few enhancements on the Python interpreter in my fork:

  1. Python debugger is now something you can toggle on/off while running, rather than be a compile time option. In addition, it uses a more correct method for printing the errors. There's another potential enhancement of that debugger I haven't done yet involving further integrating it's print method, but I'm intending that fix later as general print statement enhancement.

warmstarter/tinyfugue@23dbb6e

  1. I added in support for Python 2.7 along with 3. While Python 2.7 is obsolete, the sample TF python scripts that came with the patch were written for 2. By having identical versions of TF other than the Python interpreter they use, along with an enhanced debugger, it will make porting/fixing those scripts easier, which will eventually allow for deprecation of 2.7 without losing features in the scripts.

Unable to build with Python support

Hi

I'm unable to build TF from master both with Debian stable (Python 3.5) and
Testing (Python 3.6). I've configured the build using
./configure --prefix=/some/dir --enable-python. The errors during compilation
are:

/home/streicher/daten/quellen/foreign/tinyfugue-rebirth/src
make[1]: Entering directory '/home/streicher/daten/quellen/foreign/tinyfugue-rebirth/src'
gcc  -o tf attr.o command.o dstring.o expand.o expr.o help.o history.o keyboard.o macro.o main.o malloc.o output.o pattern.o process.o search.o signals.o socket.o tfio.o tty.o util.o variable.o world.o  tfpython.o  -lz -lm -ltermcap  -lssl -lcrypto  -L/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu -L/usr/lib -lpython3.6m -lpthread -ldl  -lutil -lm  -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -lpcre
command.o:(.data.rel+0x428): undefined reference to `handle_python_command'
command.o:(.data.rel+0x448): undefined reference to `handle_python_call_command'
command.o:(.data.rel+0x468): undefined reference to `handle_python_kill_command'
command.o:(.data.rel+0x488): undefined reference to `handle_python_load_command'
expr.o: In function `function_switch':
/home/streicher/daten/quellen/foreign/tinyfugue-rebirth/src/expr.c:975: undefined reference to `handle_python_function'
collect2: error: ld returned 1 exit status
Makefile:159: recipe for target 'tf' failed
make[1]: *** [tf] Error 1
make[1]: Leaving directory '/home/streicher/daten/quellen/foreign/tinyfugue-rebirth/src'
Makefile:18: recipe for target 'files' failed
make: *** [files] Error 2

There are also a dozen warnings above, which I omitted.
For completeness, I've attached the (relevant) configure output below.

checking for python build information... 
checking for python3.9... no
checking for python3.8... no
checking for python3.7... no
checking for python3.6... python3.6
checking for python3.6-config... python3.6-config
  results of the Python check:
    Binary:      python3.6
    Library:     -L/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu -L/usr/lib -lpython3.6m -lpthread -ldl  -lutil -lm  -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions
    Include Dir: -I/usr/include/python3.6m -I/usr/include/python3.6m

Thanks!

remote crash, reproducible

I can reliably remotely crash this version of TF. There's already one version patched, but I would like to reliably disclose this to you, please tell me how best to contact.

Expose some more of the tinyfugue internals via lua

I've crafted .. plenty of hacks to push things into lua, but it may be nice to have some specific lua functions for stuff like:

  • timer management
  • echo
  • add, delete aliases
  • add, delete macros
  • tfio (so we can do socket/file IO through tinyfugue?)

Add tf help for new options

TF help is needed for new added options

  • atcp
  • gmcp
  • option 102

Exaple usage:
; catch gmcp
/def -h'GMCP' _gmcp_catch_all = /echo GMCP %{*}
; send gmcp
/test gmcp("text")
/test gmcp("text", "world")

Color crash bug

Found an easy way to crash TinyFugue.

This would be a pretty standard way to set colors in my status bar:

/set vw_tablist_fg_world_attrs=@{Cyellow,Cbgrgb001}

But if I just set it to a non-existent color:

/set vw_tablist_fg_world_attrs=@{Ctestyellow,Cbgrgb001}

And then change my fgworld to trigger the color change in the status bar, TF dumps core. Presumably similar would happen with any way of setting that invalid color. Looks like colors are just being passed for evaluation rather than sanity checked.

Haven't yet tested if I can get a MUSH to remotely crash TF with this bug, but seems likely.

24-bit True Color

The final great enhancement, I think, would be adding true color support. Sadly I have no idea where to even start to attempt to do it myself.

Visual Mode is no longer supported with default compile options

Perhaps it's my system? When configuring the termcap item, the wrong library is selected by default for the following : library containing tgetent ... -ltermcap.

When ncurses is selected, then Visual mode again works correctly. Just throwing it out there in case anyone else has hit this caveat.

Cheers,

Unable to use SSL to connect.

Hello,

I used to compile the original source with the log timestamp+ansi patch, but decided to try this version instead.

I pulled your source, compiled it and everything seems fine, save I can no longer connect with SSL.

If I use the 'official' TinyFugue version 5.0 beta 8 install it works fine; I just tried it. But with yours (I tried --enable-ssl with ./configure) I simply get:

% Connection to world failed: ssl: not supported
% Trying to connect to world: 74.207.243.108 8899.
% Connected to world.
% Logging to file /home/user/logs/world_2017-10-20.1134.log
% Connection to world closed by foreign host.

I'm using an identical tiny.world file. Any suggestions?

widechar support breaks input on TinyMUX

Discovered on MUX 2.10.1.14 with 5.1.0, 5.1.1, 5.1.2, and 5.1.3. Other MU*s work fine. To have it work with MUX you have to compile with --disable-widechar
You can see banners, what people are saying etc, but no input to the MUX works

Foreground color broken when background color specified

When specifying a background color, any specified foreground color is improperly displayed. To reproduce, use:

/echo -aCblack,Cbgyellow test

The expected result is black font with yellow background, but the actual result is red font with yellow background.

logging output from lua -> mud

hi!

A SEND hook isn't picking up what lua is sending via tf_eval(). How should we support logging what Lua is actually causing to be sent?

ssl_continue not working

Hi

I cannot connect to Avalon fails on my system with:

% Trying to connect to ava: 91.215.74.15 7778.
% SSL: chain: depth:2 cn:/O=Digital Signature Trust Co./CN=DST Root CA X3
% SSL: chain: depth:1 cn:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
% SSL: cert verify error: err=10 'certificate has expired' depth:0 cn:/CN=
    avalon.mud.de
% Connection to ava failed: SSL/lib: error:1416F086:SSL routines:tls_process_
    server_certificate:certificate verify failed

When setting /set ssl_continue, the issue persists. For debugging, I set the following in /etc/ssl/openssl.cnf:

[system_default_sect]
MinProtocol = TLSv1.1
CipherString = DEFAULT@SECLEVEL=1

Without success.

Thanks

Adding world with a character name containing spaces

Hello :)

Thanks for developing this.

I'm trying to configure tinyfugue via a .tfrc file to add worlds and autologin to them. However, some of my characters contain spaces in their names. The tiny server I'm connecting to allows connect "char char" password to let me login with a character name containing spaces. However, when I use the /addworld command it does seem to ignore my double quotes and treats the second part of my character's name as a password.

Is there any way to make this work? I looked through the standard library for the /addworld command but I'm not sure this is doable.

Hey,happy man:)

I have a question?Util i make it that it have"make[1]: *** [socket.o] Error 1
make[1]: Leaving directory `/home/tinyfugue/tinyfugue-5.1.2/src'
make: *** [files] Error 2".i'm not idea about that,you could help me,thanks!

Logging directly to output log (eg debug logging)

hi! There isn't a "nice" way to log to the global/world log arbitrary things - eg debugging output.
I open the file a second time for this, but under a decent amount of IO the disk writes get garbled.

It would be nice to either be able to use /log to log to an existing io stream listed in /liststreams, or perhaps have the logfiles available as streams in /liststreams to be written to. They're all tfio streams under the hood, just not registered with the /liststreams subsystem.

Instalacja

Czesc i czolem.

Probuje zainstalowac twoja dystrybucje. Bez problemu udaje sie ./configure, ale w momencie gdy probuje zrobic make wyskakuje:

MacBook-Air-Krzysztof:tinyfugue-master kwyrzykowski$ sudo make
gcc -g -O2 -DDATADIR=/Users/kwyrzykowski/share -c -o attr.o attr.c
In file included from attr.c:14:
./pattern.h:13:10: fatal error: 'pcre.h' file not found

include <pcre.h>

     ^

1 error generated.
make[1]: *** [attr.o] Error 1
make: *** [files] Error 2

Przyznam, ze nie znam sie na tym… i pomyslalem, ze zapytam madrzejszych :)

Color pattern matching

Hello,

Would it be possible to add support for color matching in patterns?
ie. specifying which color the text received from mud should be in order for it to match?
Or if there is support already, please let me know how to use it!

Thanks!

Buildsystem doesn't respect DESTDIR

For ease of distribution packaging, the build system needs to incorporate DESTDIR into the installation targets, such that e.g. tf5 gets installed into $(DESTDIR)/$bindir (where $bindir is $prefix/bin and $prefix defaults to /usr/local). At present, the buildsystem assumes it can just blindly scribble all over $prefix.

Additionally, the buildsystem really should be making use of install(1) to install files, rather than doing the mkdir/cp/chmod dance.

Widechar bug

There is a known and easily triggered crashbug: The backspace, delete, and arrow keys move by bytes, not by characters. Thusly, do not try to edit an input line containing extended multibyte characters.

ANSII logging

Witaj,

Nie mogłem nigdzie w helpie tego znaleźć, a dodałeś info, że jest to jedna z nowych ( i bardzo ciekawa ) opcji. W jaki sposób wymusić logowanie z ANSII ?

Dzięki,
K.

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.