Version 1.0rc10, py3.10 min

This commit is contained in:
Griatch 2022-12-03 09:57:42 +01:00
parent 18f04ef97b
commit 07935f68a3
10 changed files with 43 additions and 45 deletions

View file

@ -20,7 +20,7 @@ jobs:
strategy:
matrix:
python-version: ['3.9']
python-version: ['3.10']
steps:
- name: Checkout ${{ github.ref }} branch

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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

View file

@ -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)
```
```

View file

@ -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" },
]