mirror of
https://github.com/evennia/evennia.git
synced 2026-03-16 21:06:30 +01:00
Version 1.0rc10, py3.10 min
This commit is contained in:
parent
18f04ef97b
commit
07935f68a3
10 changed files with 43 additions and 45 deletions
|
|
@ -20,7 +20,7 @@ jobs:
|
|||
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ['3.9']
|
||||
python-version: ['3.10']
|
||||
|
||||
steps:
|
||||
- name: Checkout ${{ github.ref }} branch
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
> Not released yet
|
||||
> 2019-2022 develop branch (WIP)
|
||||
|
||||
Increase requirements: Django 4.1+, Twisted 22.10+ Python 3.9, 3.10, 3.11. PostgreSQL 11+.
|
||||
Increase requirements: Django 4.1+, Twisted 22.10+ Python 3.10, 3.11. PostgreSQL 11+.
|
||||
|
||||
- New `drop:holds()` lock default to limit dropping nonsensical things. Access check
|
||||
defaults to True for backwards-compatibility in 0.9, will be False in 1.0
|
||||
|
|
|
|||
39
README.md
39
README.md
|
|
@ -2,52 +2,46 @@
|
|||
[![Build Status][unittestciimg]][unittestcilink] [![Coverage Status][coverimg]][coverlink]
|
||||
|
||||
|
||||
*Evennia* is a modern library for creating [online multiplayer text
|
||||
[Evennia][homepage] is a modern library for creating [online multiplayer text
|
||||
games][wikimudpage] (MUD, MUSH, MUX, MUCK, MOO etc) in pure Python. It
|
||||
allows game creators to design and flesh out their ideas with great
|
||||
freedom.
|
||||
|
||||
Evennia does not impose a particular style, genre or game mechanic. Instead it
|
||||
solves the boring networking and provides a framework for you to build the game
|
||||
you want. Coding in Evennia is done using normal Python modules imported into
|
||||
the server at runtime. All library code is heavily documented. Evennia has
|
||||
extensive manuals and tutorials as well as a very active support community!
|
||||
solves the boring networking and basic stuff all online games need. It provides
|
||||
a framework and tools for you to build the game you want. Coding in Evennia is
|
||||
done using normal Python modules imported into the server at runtime.
|
||||
|
||||
Evennia has [extensive documentation][docs]. It also has a very active community
|
||||
with [discussion forums][group] and a [discord server][chat] to help and support you!
|
||||
|
||||
## Installation
|
||||
|
||||
pip install evennia
|
||||
(windows users once: py -m evennia)
|
||||
evennia --init mygame
|
||||
cd mygame
|
||||
evennia migrate
|
||||
evennia start / stop / reload
|
||||
|
||||
Next, browse to http://localhost:4001 or telnet to localhost port 4000 to see your working (if empty) game!
|
||||
See [the full installation instructions][installation] for more help.
|
||||
|
||||
- https://www.evennia.com is the main hub tracking all things Evennia.
|
||||
- [Here is a shortcut to the documentation and tutorials](https://www.evennia.com/docs/latest/)
|
||||
Next, browse to `http://localhost:4001` or use your third-party mud client to
|
||||
connect to to `localhost`, port `4000` to see your working (if empty) game!
|
||||
|
||||
![screenshot][screenshot]
|
||||
|
||||
## Current Status
|
||||
## Where to go next
|
||||
|
||||
The codebase is currently in **Beta**. While development continues,
|
||||
Evennia is already stable enough to be suitable for prototyping and
|
||||
development of your own games.
|
||||
If this piqued your interest, there is a [lengthier introduction][introduction] to read. You
|
||||
can also read our [Evennia in pictures][evenniapictures] overview.
|
||||
|
||||
## Where to go from here
|
||||
After that, why not check out the [Evennia Beginner tutorial][beginnertutorial].
|
||||
|
||||
If this piqued your interest, there is a [lengthier
|
||||
introduction][introduction] to read.
|
||||
|
||||
To learn how to get your hands on the code base, the [Getting
|
||||
started][gettingstarted] page is the way to go. Otherwise you could
|
||||
browse the [Documentation][docs] or why not come join the [Evennia
|
||||
Community forum][group] or join us in our [development chat][chat].
|
||||
Welcome!
|
||||
|
||||
|
||||
[homepage]: https://www.evennia.com
|
||||
[gettingstarted]: https://www.evennia.com/docs/latest/Getting-Started.html
|
||||
[docs]: https://www.evennia.com/docs/latest
|
||||
[screenshot]: https://user-images.githubusercontent.com/294267/30773728-ea45afb6-a076-11e7-8820-49be2168a6b8.png
|
||||
[logo]: https://github.com/evennia/evennia/blob/master/evennia/web/website/static/website/images/evennia_logo.png
|
||||
|
|
@ -60,3 +54,6 @@ Welcome!
|
|||
[group]: https://github.com/evennia/evennia/discussions
|
||||
[chat]: https://discord.gg/AJJpcRUhtF
|
||||
[wikimudpage]: http://en.wikipedia.org/wiki/MUD
|
||||
[evenniapictures]: https://www.evennia.com/docs/latest/Evennia-In-Pictures.html
|
||||
[beginnertutorial]: https://www.evennia.com/docs/latest/Howtos/Howtos-Overview.html#beginner-tutorial
|
||||
[installation]: https://www.evennia.com/docs/latest/Setup/Setup-Overview.html#installation-and-running
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
> Not released yet
|
||||
> 2019-2022 develop branch (WIP)
|
||||
|
||||
Increase requirements: Django 4.1+, Twisted 22.10+ Python 3.9, 3.10, 3.11. PostgreSQL 11+.
|
||||
Increase requirements: Django 4.1+, Twisted 22.10+ Python 3.10, 3.11. PostgreSQL 11+.
|
||||
|
||||
- New `drop:holds()` lock default to limit dropping nonsensical things. Access check
|
||||
defaults to True for backwards-compatibility in 0.9, will be False in 1.0
|
||||
|
|
@ -222,6 +222,7 @@ Increase requirements: Django 4.1+, Twisted 22.10+ Python 3.9, 3.10, 3.11. Post
|
|||
- Add `AT_EXIT_TRAVERSE` signal, firing when an exit is traversed.
|
||||
- Add integration between Evennia and Discord channels (PR by Inspector Cararacal)
|
||||
- Support for using a Godot-powered client with Evennia (PR by ChrisLR)
|
||||
- Added German translation (patch by Zhuraj)
|
||||
|
||||
## Evennia 0.9.5
|
||||
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ caller.msg(coordinates=(9, 2))
|
|||
```
|
||||
|
||||
Godot
|
||||
```
|
||||
```gdscript
|
||||
func _on_data():
|
||||
...
|
||||
if json_data[0] == 'text':
|
||||
|
|
@ -130,7 +130,7 @@ you receive, so you can manage the code better.
|
|||
This is an example of a Script to use in Godot 3.
|
||||
The script can be attached to the root UI node.
|
||||
|
||||
```
|
||||
```gdscript
|
||||
extends Node
|
||||
|
||||
# The URL to connect to, should be your mud.
|
||||
|
|
@ -221,7 +221,7 @@ Note that the version is not final so the code may break.
|
|||
It requires a WebSocketClientNode as a child of the root node.
|
||||
The script can be attached to the root UI node.
|
||||
|
||||
```
|
||||
```gdscript
|
||||
extends Control
|
||||
|
||||
# The URL to connect to, should be your mud.
|
||||
|
|
|
|||
|
|
@ -7,12 +7,12 @@ you can run `evennia -l`, or start/reload the server with `evennia start -l` or
|
|||
|
||||
## Check your Requirements
|
||||
|
||||
Any system that supports Python3.9+ should work.
|
||||
Any system that supports Python3.10+ should work.
|
||||
- Linux/Unix
|
||||
- Windows (Win7, Win8, Win10, Win11)
|
||||
- Mac OSX (>10.5 recommended)
|
||||
|
||||
- [Python](https://www.python.org) (v3.9, 3.10 and 3.11 are tested. 3.11 is recommended)
|
||||
- [Python](https://www.python.org) (3.10 and 3.11 are tested. 3.11 is recommended)
|
||||
- [Twisted](https://twistedmatrix.com) (v22.3+)
|
||||
- [ZopeInterface](https://www.zope.org/Products/ZopeInterface) (v3.0+) - usually included in Twisted packages
|
||||
- Linux/Mac users may need the `gcc` and `python-dev` packages or equivalent.
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ You can also [clone Evennia from github](./Installation-Git.md) or use [docker
|
|||
```{sidebar} Develop in isolation
|
||||
Installing Evennia doesn't make anything visible online. Apart from installation and updating, you can develop your game without any internet connection if you want to.
|
||||
```
|
||||
- Evennia requires [Python](https://www.python.org/downloads/) 3.9, 3.10 or 3.11 (recommended). Any OS that supports Python should work.
|
||||
- Evennia requires [Python](https://www.python.org/downloads/) 3.10 or 3.11 (recommended). Any OS that supports Python should work.
|
||||
- _Windows_: In the installer, make sure you select `add python to path`. If you have multiple versions of Python installed, use `py` command instead of `python` to have Windows automatically use the latest.
|
||||
- _Windows:_ If you want to use Python 3.11, you must also install the [Windows SDK](https://aka.ms/vs/16/release/vs_buildtools.exe). Run the linked installer. Click the `Individual Components` tab at the top, then search and checkbox the latest `Windows 10 SDK` (also for older/newer Windows versions). Then click `Install`. If you have trouble, use Python 3.10 for now (2022).
|
||||
- Don't install Evennia as administrator or superuser.
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@
|
|||
# when people upgrade outside regular channels). This file only supports lines of
|
||||
# `value = number` and only specific names supported by the handler.
|
||||
|
||||
PYTHON_MIN = 3.9
|
||||
PYTHON_MAX_TESTED = 3.11.0.0
|
||||
PYTHON_MIN = 3.10
|
||||
PYTHON_MAX_TESTED = 3.11.100
|
||||
TWISTED_MIN = 20.3.0
|
||||
DJANGO_MIN = 4.0.2
|
||||
DJANGO_MAX_TESTED = 4.1
|
||||
DJANGO_MAX_TESTED = 4.1.100
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ You must also remove the protocol from the `connect_to_url` call made
|
|||
within the `_ready` function.
|
||||
|
||||
```
|
||||
func _ready():
|
||||
func _ready():
|
||||
# ...
|
||||
# Change the following line from this
|
||||
var err = _client.connect_to_url(websocket_url, ["lws-mirror-protocol"])
|
||||
|
|
@ -73,13 +73,13 @@ func _on_data():
|
|||
var data = _client.get_peer(1).get_packet().get_string_from_utf8()
|
||||
var json_data = JSON.parse(data).result
|
||||
# The json_data is an array
|
||||
|
||||
|
||||
# The first element informs us this is simple text
|
||||
# so we add it to the RichTextlabel
|
||||
if json_data[0] == 'text':
|
||||
for msg in json_data[1]:
|
||||
label.append_bbcode(msg)
|
||||
|
||||
|
||||
# Always useful to print the data and see what we got.
|
||||
print(data)
|
||||
```
|
||||
|
|
@ -102,18 +102,18 @@ caller.msg(coordinates=(9, 2))
|
|||
```
|
||||
|
||||
Godot
|
||||
```gdscript
|
||||
```
|
||||
func _on_data():
|
||||
...
|
||||
if json_data[0] == 'text':
|
||||
for msg in json_data[1]:
|
||||
label.append_bbcode(msg)
|
||||
|
||||
|
||||
# Notice the first element is the name of the kwarg we used from evennia.
|
||||
elif json_data[0] == 'coordinates':
|
||||
var coords_data = json_data[2]
|
||||
player.set_pos(coords_data)
|
||||
|
||||
|
||||
...
|
||||
```
|
||||
|
||||
|
|
@ -132,7 +132,7 @@ you receive, so you can manage the code better.
|
|||
This is an example of a Script to use in Godot 3.
|
||||
The script can be attached to the root UI node.
|
||||
|
||||
```gdscript
|
||||
```
|
||||
extends Node
|
||||
|
||||
# The URL to connect to, should be your mud.
|
||||
|
|
@ -190,7 +190,7 @@ func _on_data():
|
|||
# elsewhere in the project.
|
||||
self.emit_signal('updated_coordinates', json_data[1])
|
||||
|
||||
|
||||
|
||||
# We only print this for easier debugging.
|
||||
print(data)
|
||||
|
||||
|
|
@ -224,7 +224,7 @@ Note that the version is not final so the code may break.
|
|||
It requires a WebSocketClientNode as a child of the root node.
|
||||
The script can be attached to the root UI node.
|
||||
|
||||
```gdscript
|
||||
```
|
||||
extends Control
|
||||
|
||||
# The URL to connect to, should be your mud.
|
||||
|
|
@ -243,7 +243,7 @@ func _ready():
|
|||
websocket.connect('connected_to_server', self._connected)
|
||||
websocket.connect('connection_closed', self._closed)
|
||||
websocket.connect('message_received', self._on_data)
|
||||
|
||||
|
||||
# We attempt to connect and print out the error if we have one.
|
||||
var result = websocket.connect_to_url(websocket_url)
|
||||
if result != OK:
|
||||
|
|
@ -286,4 +286,4 @@ func _on_button_pressed():
|
|||
var msg_str = JSON.stringify(msg_arr)
|
||||
websocket.send(msg_str)
|
||||
|
||||
```
|
||||
```
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|||
|
||||
[project]
|
||||
name = "evennia"
|
||||
version = "1.0rc9"
|
||||
version = "1.0rc10"
|
||||
maintainers = [
|
||||
{ name="Griatch", email="griatch@gmail.com" },
|
||||
]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue