ns-3 is a discrete-event network simulator for Internet systems,
One liner:
git clone https://gitlab.com/nsnam/ns-3-dev.git && cd ns-3-dev && git clone https://github.com/signetlabdei/lorawan src/lorawan && tag=$(< src/lorawan/NS3-VERSION) && tag=${tag#release } && git checkout $tag -b $tag
./ns3 configure --enable-tests --enable-examples --enable-modules lorawan ./ns3 build ./test.py ./ns3 run aloha-throughput
Python binding and visualiser
sudo apt install python3-pygraphviz python3-dev cmake g++ ninja-build graphviz libgraphviz-dev pkg-config gir1.2-goocanvas-2.0 # in ns-3-dev folder create venv: python3 -m venv venv source venv/bin/activate pip install --upgrade pip pip install cppyy pygraphviz pycairo pip install "pygobject<3.51.0" # Debian 12 ./ns3 clean ./ns3 configure --enable-examples --enable-tests --enable-python-bindings